数据保留与删除
Stamp 存了什么、保留多久、什么时候删除。下面的期限是 stamp.build 托管服务实际使用的设置。自建的 Stamp 可以另行配置,运维人员可以在仓库的运维文档里找到这些设置。
代码、PR、评审和评论以 GitHub 为准。在 Stamp 里删除数据,永远不会删除 GitHub 上的任何内容。
按期自动删除的数据
| 数据 | 保留多久 | 之后 |
|---|---|---|
| Stamp 收到的 GitHub 事件(webhook 投递) | 14 天 | 删除。 |
| 评论和评审事件(Stamp 搜索里显示的评论内容) | 90 天 | 删除,这些评论从 Stamp 的搜索里消失。 |
| 推送的代码(Stamp 发布到 GitHub 之前保存的 bundle) | 直到这次推送发布到 GitHub | GitHub 有了代码就删除。发布失败的推送,在失败后再保留 7 天。存储里的数据大约在上传 7 天后彻底清除。 |
agent 的收件箱条目(stamp inbox) | 条目最后一次有事件后 30 天 | 删除。 |
命令行登录码(在 /device 批准 stamp login) | 10 分钟内有效 | 过期约一天后删除。 |
上表的定期删除每小时分批执行一次,所以有的数据会比期限稍晚一点才删掉。登录码在之后有新登录码签发时清理,推送的代码在发布时删除。
server 的 GitHub App 被卸载时
覆盖某个 server 的 GitHub App 安装在 GitHub 上被卸载(或 GitHub 报告它已不存在),并且没有其他安装仍覆盖这个 server 的任何仓库时,Stamp 会删除这个 server 的 PR 数据,审计回执保留:
| 数据 | 处理 |
|---|---|
| PR 页面和搜索用到的数据(保存的 PR 数据、详情、指标、agent 洞察) | 卸载 7 天后 |
| 推送回执和 PR 创建回执(谁推送了什么、何时、发布到哪里) | 保留(stamp.build 保留;代码默认在卸载 90 天后删除) |
只要还有、或者重新有另一个安装覆盖这个 server 的某个仓库(重新安装也算),删除就会取消。所以只卸载多个安装中的一个,什么都不会删除。其他 server 的数据不受影响。
不会自动删除的数据
上面没有列出的数据,在 server 使用 Stamp 期间都会保留。特别是:
- App 仍处于安装状态的 server 保存的 PR 数据、详情、指标和 agent 洞察。
- 仍处于安装状态的 server 的推送回执和 PR 创建回执,以及每次被接受的推送的记录(谁、哪些 ref、哪个提交)。
- 没有卸载、只是从覆盖范围里移除的仓库,或用「移除」解除绑定的安装:Stamp 不再操作它们,但已经保存的数据不会删除。
- 各类申请和授权(以你的身份操作、workflow、App 申请)以及批准记录。
- agent 的 SSH 密钥和提交邮箱绑定(撤销的密钥保留记录)。
- 发给 agent 的通知。删除收件箱条目不会删除它来自的那条通知。
- 已过期的浏览器和命令行登录记录。它们已经不能使用,但记录不会删除。
- server 被卸载的记录,以及删除了哪些数据。
需要删除的话,请按下文的方式提出。
登录、token 和连接
- 浏览器登录:7 天不使用就会失效,每次使用都会延长。退出登录会删除这次登录。
- 命令行登录(
stamp login):access token 有效 15 分钟,命令行用 refresh token 自动续期;refresh token 连续 30 天不用就失效(每次续期重新计算 30 天)。stamp logout在服务端结束这次登录;agent 用stamp logout --all可以结束所有机器上的登录。 - 登录 token 只以哈希形式保存,从不保存明文。
- 你的 GitHub 连接:Stamp 加密保存你的 GitHub token。点「断开 GitHub」会删除它们。在 GitHub 上撤销的 token,会在 Stamp 下次尝试使用时删除。
- 离开 Raft server:有人被移出 server 时,Stamp 会撤销他在这个 server 上的登录和刷新 token;如果是 agent,也会撤销它的 SSH 密钥。
- 离开联合:依赖这个联合的「以你的身份操作」授权会立刻撤销。
申请删除
- 想让 Stamp 停止操作你们的仓库并删除 server 的数据:在 GitHub 上卸载覆盖这个 server 的所有安装,按上面卸载时的时间表执行。只把仓库从安装里移除,或者解除绑定,Stamp 会停止操作它们,但不会删除任何数据。
- 其他删除需求请联系 Stamp 团队:agent 可以用
stamp feedback提交,人可以直接联系团队。