# 治理与保留

了解当前在保留、删除、导出、数据边界和审计证据方面的治理状态。

- Canonical: https://docs.xmemo.dev/zh/docs/concepts/governance-retention
- Locale: zh-CN
- Content-Locale: zh-CN
- Canonical-Content-Digest: 64872f32f2fa2549e9b806845665721e6289a5b6fe5d9e8dc96165599625c17b
- Edition-Digest: ecfaa944a442c33c46c55b9b3f5d951b8c7fb337fba8a1986dc39c35f45f8dc4
- Source-Revision: sha256:47f2eb881bc452bf2c7284e56f7b3ce65901de5335e31c6b20f6047355dc4f40

## 当前由服务管理保留策略

当前 MeGovernanceResponse 报告 retention.status=operator_managed 且 retention.available=false。每个账户不能配置自动 retention 规则；archive、forget 和 clear 操作需要明确的账户操作。本页面描述已实现的状态，不承诺自动 retention schedule。

```json
{
  "retention": {
    "status": "operator_managed",
    "available": false
  },
  "delete": {
    "status": "self_service",
    "available": true
  }
}
```

## 删除和导出是两种独立状态

单条记忆删除支持 self-service。账户级关闭会撤销访问权限并排队执行 Personal purge workflow；response contract 说明 team-shared data 会留在 Team 中。导出根据 runtime configuration 可能是 self-service download，也可能是 request-only；已准备的 artifact 会自动过期。

- delete — 可进行 self-service 的单条记忆删除。
- export — 只有 runtime 启用时 status 才是 self_service_download，否则为 request_only。
- data_boundary — 以账户为范围；不允许跨账户访问。

## 治理操作会留下审计证据

governance response 报告 audit.status=enabled，并说明账户操作会发出 audit events；audit-log access 和 self-service audit export 仍由服务团队管理。记忆删除也会在 memory audit outbox 中记录 mode、reason 是否存在和目标引用，而不会在公开结果中保留已忘记的 content。

```json
{
  "data_boundary": {
    "status": "account_scoped",
    "available": true
  },
  "audit": {
    "status": "enabled",
    "available": true
  }
}
```

## 选择模式前检查有效状态

Security mode 与 governance posture 是独立控制项。Cloud mode 允许 server-side processing；Keyguard 使用带审计的临时解密进行 customer key wrapping；Vault 让 memory bodies 保持 client-encrypted，通常需要 local recall。应根据当前 response contracts 选择 retention、deletion 和 security handling，不要假定一个设置会同时控制三者。

```text
retention  = operator_managed
delete     = self_service
audit      = enabled
security   = resolve the effective Cloud, Keyguard, or Vault mode
```

## ChatGPT 用户

让 ChatGPT 持久访问你的 XMemo 偏好、项目事实、决策和 TODO，同时不把 bearer token 粘贴到聊天里。

通过 ChatGPT/OpenAI app 的 OAuth 流程连接托管 XMemo MCP server，然后为你的 XMemo 账户批准 memory:read 与 memory:write 授权。

保存一条合成偏好或项目笔记，开启新聊天，再让 ChatGPT 在继续工作前通过 XMemo 召回它。

如果 OAuth 失败或工具未出现，先在宿主应用里退出该 MCP server，重新连接 XMemo server URL 并重试，再考虑创建 direct token。

## Copilot / Codex 开发者

在 IDE 与 CLI agent 之间携带仓库决策、编码规范、bug 修复说明和任务历史。

在可用时对 VS Code / GitHub Copilot 和 Gemini CLI 使用 OAuth。对于 Copilot CLI、Codex、Cursor 或其他直连 MCP 客户端，请在本地环境或密钥存储中保留 XMEMO_KEY，并设置稳定的 XMEMO_AGENT_INSTANCE_ID。

记录一条代码库决策或 bug 修复，然后让下一个 IDE 或 CLI agent 在编辑前召回相关 XMemo 上下文。

如果召回为空，检查所选 MCP 配置路径、direct client 的 XMEMO_KEY 环境变量，以及宿主应用中是否存在过期 OAuth 凭据。

## 团队 / 企业 pilot owner

用账户控制、来源归因、导出/删除流程和 reviewer-safe 设置证据来评估共享记忆。

创建或进入受保护的 XMemo workspace，邀请已批准用户，然后根据 readiness badges 通过 OAuth 或 scoped direct credential 连接各客户端。

让一名 pilot 成员保存一条合成团队记忆，在 XMemo 中确认来源归因，然后审阅删除/导出和支持路径。

如果成员无法连接，先检查角色权限、OAuth 批准、客户端 readiness 状态和支持指引，再签发新 token。

## 自主 agent operator

让 headless 或定时 agent 记录进度、取回历史决策，并保持稳定的非秘密实例身份。

获取 /api/v1/mcp/config/autonomous-agent。当 runner 支持 OAuth + 自定义 headers 时优先使用 auth_modes.oauth；只有完全 headless 的 runner 才使用 auth_modes.xmemo_key，并从密钥库读取 XMEMO_KEY。

运行一个会向 XMemo 写入进度的合成任务，重启 runner，并确认它使用同一个 XMEMO_AGENT_INSTANCE_ID 召回该进度。

如果归因变化或召回分散到多个实例，请把 XMEMO_AGENT_INSTANCE_ID 持久化到 git 之外，并确认 runner 不会每次启动都重新生成它。
