Claude Code 的零数据保留与数据使用:ZDR 开了之后哪些东西还在

2026-08-18

先把问题问具体:一个组织拿到了 ZDR,某个开发者在终端里敲下一句 prompt,按官方文档的说法,这条数据接下来会经过哪些地方、哪些地方还会留下东西?

这么问是因为 ZDR 这三个字母在内部沟通里太容易被当成「什么都不留」的同义词。而 Claude Code 官方文档在 code.claude.com/docs/en/zero-data-retention 这一页里,专门用了两张表来写「不覆盖什么」和「开了之后哪些功能会被关掉」——文档自己就把边界划得比大多数人以为的窄。下面按请求经过的顺序走一遍。

第一步:这条请求算不算你那个 ZDR 组织的

这是最容易漏掉的一环,也是文档里少见地写得很直白的一段。

官方文档写明,ZDR 适用于认证进入了已启用 ZDR 的组织的请求。如果开发者用个人账号登录 Claude Code,或者用了另一个组织的 API key,那些会话不在覆盖范围内。换句话说,「公司买了 ZDR」和「这台机器上跑的这次会话被 ZDR 覆盖」是两件事,中间隔着一次登录。

文档给出的应对手段是部署 forceLoginMethodforceLoginOrgUUID 这两项 managed settings,用来要求开发者的 claude.ai 登录必须属于你的 ZDR 组织;关于这两个键怎么处理 Claude Console 登录,文档把细节放在 code.claude.com/docs/en/authentication 的「Restrict login to your organization」一节,本文引用的三页里没有展开,需要自己去翻那一页。

还有一条容易踩的:文档以警示框的形式写明,ZDR 是按组织(per-organization)启用的,同一个账户下新建的组织不会自动继承 ZDR,每个新组织都需要账户团队单独启用。企业里拆分部门、开新组织是常事,这条不看会直接漏。

另外,官方文档写明 Claude for Enterprise 上的 ZDR 只适用于 Anthropic 自己的直接平台。部署在 Amazon Bedrock、Google Cloud’s Agent Platform 或 Microsoft Foundry 上的情况,要去看那些平台各自的数据保留策略,不能拿这一页的结论套过去。

还有一条前置条件:文档写明 ZDR 不包含在标准的 Claude for Enterprise 套餐里,也不能从管理后台自行打开,需要 Anthropic 单独启用并确认资格,启用动作会被审计日志记录。这不是一个配置项。

第二步:推理调用本身

覆盖范围这一段文档写得很短:ZDR 覆盖的是通过 Claude Code 在 Claude for Enterprise 上发出的模型推理调用。你发出的 prompt 和模型生成的响应实时处理、返回之后不由 Anthropic 存储——文档在这里挂了一个例外尾巴:除非是为遵守法律或应对滥用所需。这个尾巴不是可选项,后面还会再出现一次。

第三步:离开推理路径之后,文档列了五类不覆盖

zero-data-retention 页的「What ZDR does not cover」表里是五行(回源逐行数过),并且文档明说这些即使组织已启用 ZDR 也不覆盖,它们走的是标准数据保留策略:

项目官方文档写明的要点
Chat on claude.ai通过 Claude for Enterprise 网页端进行的聊天对话不被 ZDR 覆盖
CoworkCowork 会话不被 ZDR 覆盖
Claude Code Analytics不存储 prompt 与模型响应,但会收集账号邮箱、用量统计这类生产力元数据;ZDR 组织没有 contribution 指标,仪表盘只显示用量指标
User and seat management账号邮箱、席位分配这类管理数据按标准策略留存
Third-party integrations由第三方工具、MCP 服务器或其它外部集成处理的数据不被 ZDR 覆盖,需要自己去审这些服务的数据处理方式

最值得单独拎出来的是最后一行:MCP 是 Claude Code 上最常被接进来的扩展方式,而文档把责任划得很清楚——数据一旦进了 MCP 服务器,ZDR 就管不到了。如果组织是靠 ZDR 满足某项合规要求的,那么每接一个 MCP 服务器都需要单独评估。

第四步:开了 ZDR 会被后端关掉的五个功能

同一页的「Features disabled under ZDR」表也是五行(同样回源数过)。文档给出的共同理由是:这些功能需要存储 prompt 或 completion,因此在后端层面被自动禁用。

被禁用的功能官方文档给出的原因
Claude Code on the Web需要服务端存储对话历史
Desktop app 的 Cloud sessions需要持久化的会话数据,其中包含 prompt 与 completion
Artifacts需要把发布的页面内容存在 Anthropic 运营的基础设施上
反馈提交(/feedback/bug/share提交反馈会把对话数据发给 Anthropic
Remote Control会把会话记录存在 Anthropic 服务器上,以便在多设备间同步对话

有两句配套说明比表本身更实用。一是文档写明这些功能是在后端被拦住的,与客户端是否显示无关:如果启动时在 Claude Code 终端里看到某个已禁用的功能,尝试使用它会返回一个错误,提示组织策略不允许该操作。也就是说,「我这儿还能看到这个入口」不构成「它还能用」的证据。二是文档留了一句前瞻:将来的新功能如果需要存储 prompt 或 completion,也可能被禁用——按 ZDR 做长期规划时,别把「今天能用的功能明天还能用」当成默认。

第五步:模型这一侧也有一个写明的例外

这一点很少有人预料到:官方文档写明,有一个模型类(文档中写作 Claude Fable 5)要求数据保留,因此对启用了 ZDR 的组织不可用,来自 ZDR 组织的请求不会由它提供服务。文档还写明该模型在 ZDR 组织的 /model 选择器中要么不出现,要么显示为禁用并附带「需要关闭 ZDR」的提示,且服务端会拒绝对它的请求,与客户端配置无关

连带的一个细节是别名解析:文档写明 best 这个别名在该模型可用的地方解析到它,而在包括 ZDR 组织在内的不可用组织里解析到 Opus。如果你的脚本或 CI 里写死了 best,那么同一份配置在 ZDR 组织和非 ZDR 组织里落到的模型是不同的——这一点在排查「为什么两个环境行为不一样」时很容易背锅给别处。

模型的可用性与命名随版本变动,这里只复述文档写明的机制,具体某个模型在你的组织里是否可用,以官方文档与你的组织实际配置为准。

第六步:本机上还留着什么

上面全是服务端。但 code.claude.com/docs/en/data-usage 这一页里有一条独立于 ZDR 的事实:Claude Code 客户端会把会话记录以明文形式存在本地 ~/.claude/projects/ 下,用于会话恢复,默认保留 30 天,可以用 cleanupPeriodDays 调整。这是文档写明的默认值,随版本可能变动,也不受 ZDR 影响——ZDR 讲的是 Anthropic 服务端不留存,不是你的磁盘上不留存。做端侧合规(磁盘加密、离职回收、备份策略)时,这一条比服务端那些表更贴近实际风险。

Windows 侧要留个心眼:本文引用的三页里路径一律写成 ~/.claude/projects/~/.claude/feedback-bundles/ 这种 POSIX 写法,这三页没有单独说明 Windows 上这些目录展开到什么位置,也没有说 WSL 与原生 Windows 是不是两份。Linux 与 macOS 按 home 目录理解没有歧义,Windows 侧需要以 code.claude.com/docs/en/claude-directory 的「application data」一节为准,别照直觉猜。另外,文档写明各类开关大多是环境变量,而所有这些环境变量都可以写进 settings.json——在 Windows 上按会话设环境变量最容易漏,走配置文件对多机分发更稳;但这一页没有给出该文件里放环境变量的键名结构,要以 code.claude.com/docs/en/settings 为准。

和 ZDR 咬合最紧的开关是错误上报。文档写明错误上报只有在同时满足若干条件时才开着,其中明确包含一条:你的组织没有 zero data retention 或 HIPAA 协议。也就是说 ZDR 组织的错误上报本来就不开,不需要再设一遍 DISABLE_ERROR_REPORTING。同理,文档写明启用了 ZDR 的组织、组织策略禁用了产品反馈的、或设了 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 的,永远不会看到那个「能否让 Anthropic 查看你的会话记录」的追问。

有一个例外必须照实写出来:WebFetch 的域名安全检查。文档写明它在抓取 URL 前会把主机名(只有主机名,不含完整 URL、路径与页面内容)发到 api.anthropic.com 去比对黑名单,而且这项检查不受 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 影响,也与你用哪个模型提供方无关。想关掉它得在 settings 里设 skipWebFetchPreflight: true,文档同时提醒:关掉之后 WebFetch 会在不查黑名单的情况下尝试抓取任意 URL,需要配合 WebFetch 的权限规则来限制可达域名。「我把非必要流量全关了所以什么都不出去」这句话,在这一条上不成立。

第七步:违规留存与合规的两条尾巴

第一条前面出现过一次,这里是它的完整版本:文档写明即使启用了 ZDR,Anthropic 仍可能在法律要求或处理 Usage Policy 违规时留存数据;如果某个会话被标记为策略违规,相关的输入与输出最长可能留存 2 年。这是文档写明的政策条款,和「ZDR 就是零留存」的口语理解直接冲突,向法务或安全团队解释 ZDR 时最好原样带上这一句。

第二条在 code.claude.com/docs/en/legal-and-compliance 页:如果客户与 Anthropic 签了 BAA 并且已经启用了 ZDR,BAA 会自动延伸覆盖 Claude Code,适用于该客户经由 Claude Code 流转的 API 流量。文档同时重申了 per-organization 这一点——每个组织都必须单独启用 ZDR,才能被 BAA 覆盖。这里的因果顺序值得注意:不是「签了 BAA 所以 Claude Code 被覆盖」,而是「签了 BAA 且启用了 ZDR」两个条件同时成立。

申请路径文档只写了流程性的一句:联系销售或你的 Anthropic 客户团队,由客户团队提交请求、Anthropic 确认资格后启用。文档另外写明了一条迁移路径:如果你目前是通过按量付费 API key 在用 Claude Code 的 ZDR,可以转到 Claude for Enterprise,在保留 ZDR 的同时拿到那几项管理能力(按用户的成本控制、Analytics 仪表盘、server-managed settings、审计日志),迁移同样需要联系客户团队协调。

落到一张自查清单上

如果你要向内部解释「开了 ZDR 之后到底还有什么在」,按文档能站住脚的说法是这几条,其余的别加戏:

  1. 登录归属对不对(个人账号或他组织的 API key 不在覆盖内)
  2. 新开的组织有没有单独启用
  3. 用没用 Bedrock / Google Cloud’s Agent Platform / Microsoft Foundry(那要看各平台自己的策略)
  4. 接了哪些 MCP 服务器与第三方集成(这部分文档明说不覆盖)
  5. 本机 ~/.claude/projects/ 下的明文会话记录还在,默认 30 天
  6. WebFetch 的主机名预检仍会发出去
  7. 违规留存与法律要求这条例外始终存在

这七条里没有一条需要推断,全部能在上面三页文档里逐句核到。Claude Code 迭代频繁,文中涉及的配置项、默认值与功能边界随版本变动,以官方文档最新内容为准。


本文依据 Claude Code 官方文档(code.claude.com/docs)于 2026-08-17 的公开内容整理。 该产品闭源,本文只复述官方文档写明的机制,不推断其内部实现我们没有对文中涉及的功能做过实测,因此不涉及界面外观、操作手感与运行速度的任何描述。 该产品迭代频繁,文中涉及的命令、配置项与默认值随版本变动,请以官方文档最新内容为准。 本文不涉及价格、额度与限流的具体数值,相关信息请以官方定价与用量说明页为准。

安全与合规相关做法请结合自身环境评估,本文不构成安全方案建议。

合规与许可条款请以官方原文与你所在组织的要求为准,本文不构成法律意见。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。