---
title: 数据保留与删除
description: Stamp 存了什么、保留多久、什么时候删除。
llms_section: "日常使用"
llms_order: 1055
llms_summary: "想了解 Stamp 存了团队哪些数据、保留多久、何时删除时看这里。"
---

# 数据保留与删除

Stamp 存了什么、保留多久、什么时候删除。下面的期限是 `stamp.build` 托管服务实际使用的设置。自建的 Stamp 可以另行配置，运维人员可以在仓库的[运维文档](https://github.com/botiverse/stamp/blob/main/docs/operations.md#data-retention)里找到这些设置。

代码、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` 提交，人可以直接联系团队。
