LLM 数据留存与 ZDR:谁能读取你的 prompt
目录
你的 prompt 并不是直接发给所谓的“AI 公司”。在 Agent 技术栈中,它会以明文经过一串参与方,具体经过哪些取决于你的技术栈:Agent 框架的遥测模块、Tracing 平台、记忆存储、分析工具、AI 网关,以及三类推理服务商中的某一类。每一方都有自己的留存政策、存储区域和训练条款。通常,保存 prompt 最久的反而是 API 调用方这一侧:模型供应商大约会在 30 天后删除标准日志,而默认配置下的 Tracing 或记忆存储会一直保留,直到你主动删除。零数据留存(ZDR)是一种真实且实用的约定,但它只限定了其中一个参与方在三个维度中的一个。本文会梳理整条链路,包括谁会保留什么、保留多久,以及 ZDR 覆盖和不覆盖哪些内容。
TL;DR
- 每一个明文链路节点都可能采集数据;Agent 侧的 Tracing 和记忆存储保留 prompt 的时间远长于任何模型供应商。
- 供应商按功能决定留存策略:Claude API 的缓存可纳入 ZDR,batch job 会保存 29 天,Fable 5 要求保留 30 天。
- 数据地域取决于服务器位置:DeepSeek 官方 API 将数据存储在中国境内,不提供其他选项。
- 免费 endpoint 的风险最大:免费容量通常以训练权作为交换。
- ZDR 经受住了司法检验:NYT 的证据保全令只豁免了零留存 API 客户。
Agent 技术栈中,谁能读取你的 prompt?
链路上的每一方都能读取,而且实际链路通常比大多数团队画出来的更长:
从左到右看。Agent 层属于你,但通常不只属于你:框架会附带遥测功能;Tracing 和可观测性平台本来就是为了保存完整的 prompt 和响应;记忆功能会把对话内容写入不会自动过期的向量存储;Web UI 中的 session replay 分析脚本甚至会在用户输入 prompt 时就开始采集,此时后端还没有收到内容。网关在自托管时算一个参与方,采用 SaaS 时则是两个。SaaS 网关又分两类。第一类是多供应商聚合器,通过一个 API 将请求路由到背后的不同供应商。因此,它的数据处理情况始终由两部分叠加而成:网关自身的政策,以及本次请求实际落到的服务商政策。第二类来自安全供应商,也就是数据防泄漏(DLP)和 guardrail 网关。这类产品的核心功能就是检查 payload、执行脱敏和落实策略,因此读取每个 prompt 本来就是产品能力,被标记的 prompt 通常也会按设计保留为安全事件。
网关之后有三类推理服务商:模型供应商自己的 API、在你的云租户内托管模型的云服务商,以及按各自日志政策提供开放权重模型的 GPU 服务商。旁路分支是在专属租户或自有 GPU 上进行自托管推理。这是唯一没有第三方处理明文的路径,但它也有一个后面会谈到的问题。
理解后续内容只需要记住一条:**能看到和会保存是两个不同的问题。**图中的每个节点在技术上都能采集数据。实际是否采集,取决于默认配置、设置和合同,而整条链路的默认行为差异很大。
谁真正保留了你的 prompt?
通常是你自己的工具,而且保留时间比其他任何一方都长。安全问卷重点关注的供应商留存周期通常只有几天;没人问到的 Agent 侧存储却可能永久保留。
**Agent 层会主动留存数据。**Tracing 平台本质上就是存储 prompt 和输出的数据库;这里的留存周期是项目配置,不是政策上的意外。不同工具的默认行为各不相同,值得逐项确认。GitHub Copilot 的 OpenTelemetry 集成会导出 span 结构、耗时和 token 数量,但不包含 prompt 内容,除非你明确开启内容采集。这种默认保护隐私的设计值得更多 Agent 工具采用。Cursor 的隐私模式之所以存在,是因为默认模式会共享代码数据。模型供应商即使在 30 天后删除数据,你的 trace store 到第 300 天仍可能保留完整内容。
**网关会保留它选择保留的内容。**网关无法完全避免 usage record,因为计费需要记录每次请求的 token 数、模型和时间戳。但它完全可以不保存 payload:prompt 和响应正文只经过内存,不写入持久化存储。问题在于,两种常见的网关功能往往会悄悄越过这条界线。请求检查或可观测性控制台在定义上就是 payload 存储,与前一跳的 Tracing SaaS 没有区别。网关侧缓存也会在网关节点存储 prompt 内容:语义缓存会保存 prompt 的 embedding 和完整的缓存响应;响应缓存则会原样保存请求与响应,位置就是网关所在的磁盘。评估网关时,无论是 SaaS 还是自托管,都要分别问三遍同一个问题:请求记录里有什么,可观测性界面会持久化什么,缓存会写入什么?
**供应商按功能留存,而不是按公司统一留存。**最实用的思考方式直接来自 Anthropic 的 API 留存文档。该文档逐项说明各功能是否符合条件:prompt caching 可以纳入 ZDR,因为缓存状态只保存在内存中;batch processing 会将任务保存 29 天,因为异步任务需要存储;代码执行容器最多保留 30 天;上传文件则会一直存在,直到你删除。页面中有一句话非常直接,值得引用:使用有状态功能“意味着你选择让这部分特定数据不受 ZDR 约定约束”。OpenAI 的数据控制文档列出了哪些 endpoint 可纳入 ZDR,默认将滥用监控日志最多保留 30 天,并说明缓存的 prompt 会以加密键值 tensor 的形式存放在 GPU 本地存储中,且 TTL 有明确上限。Claude API 的标准商业数据会在 30 天内删除。
数据实际存储在哪里?
数据存储在提供服务的基础设施所在地,不同类型的供应商答案也不同。云托管模型在这方面最明确:在 Amazon Bedrock 上,云服务商是数据处理方,推理会留在你选择的区域内,因此受监管行业通常优先选择这条路径。模型供应商自己的 API 则运行在供应商部署基础设施的地点。OpenAI 为大多数 endpoint 提供美国和欧盟区域处理;较小的供应商往往不公开相关信息。最明确的极端案例是 DeepSeek,其隐私政策写明,个人数据会在中华人民共和国境内收集、处理和存储,官方 API 不提供美国或欧盟选项。相同的开放权重由美国 GPU 服务商提供时,就不再具有这种地域属性。这清楚说明:模型数据流向哪里,取决于谁在提供服务,而不是模型本身。
主数据副本之外还有两条尾部链路。缓存和 batch 文件会按各自生命周期保存在服务区域中,与请求日志相互独立。每家供应商还依赖 subprocessors,也就是它自己的下游供应商,以及备份系统。删除承诺通常表述为从活跃系统中删除,备份中的副本则会经历额外的传播和清理周期。如果数据流图在 API 供应商的 logo 处结束,那么至少还漏掉了这两个节点。
谁会强制要求留存?谁会用你的 prompt 训练?
有三种不同力量会让数据在默认期限之后继续存在,其中只有一种会出现在供应商的营销材料里。
**政策要求。**部分模型会把数据留存作为安全条件。Claude Fable 5 和 Mythos 5 即使对 ZDR 客户也要求保留 30 天;系统采用显式失败机制。如果组织的留存配置不满足要求,请求会返回 400,而不是被静默接受。滥用升级则是另一种政策上的长尾:因违反使用政策而被标记的内容采用完全不同的留存周期。Anthropic 的消费者政策写明,被标记的输入和输出最多保留 2 年,分类器评分最多保留 7 年。
**诉讼保全。**NYT 诉 OpenAI 一案为留存承诺提供了最清楚的现实检验。2025 年 5 月的一项证据保全令要求 OpenAI 保存原本会删除的输出日志,包括用户已删除的聊天记录,范围覆盖消费者套餐;该命令在同年 9 月被缩小,之后法院又要求在证据开示中提交 2000 万条聊天日志。API 买家真正需要关注的是:企业客户和零数据留存客户被排除在外,因为没有已留存的数据可供保全。删除政策可能因诉讼保全而改变;从未存储数据的架构则不受影响。
**收割数据的中间商。**链路中间确实有参与方因变现明文数据而被曝光,规模最大的记录案例恰好最靠近用户。2025 年 12 月,安全研究人员披露,一款安装量达数百万、号称保护“隐私”的 VPN 浏览器扩展,会向 AI 聊天页面注入脚本,拦截 ChatGPT、Claude、Gemini 和另外五款助手中的每个 prompt 与响应,再将对话发送给关联的数据经纪公司。无论 VPN 是否开启,采集都会继续进行。该发布商的扩展产品约有 800 万用户,都受到影响。这次事件中的拦截器位于客户端,不是 API 网关,但结论适用于图中的每个节点:任何处理明文的中间方都可能成为采集点,其动机是数据变现,而且链路两端都看不到这种拦截。是否能信任中间商,取决于它的商业模式,而不是功能列表。
**训练条款。**主要供应商的商业 API 默认不会使用你的数据训练;消费者产品则越来越多地默认用于训练,除非你主动退出。这也是 Agent 流量应使用 API key,而不是消费者账户的另一个原因。越来越多的产品把训练做成一个需要用户自行寻找的开关:消费者套餐默认开启训练,把退出选项藏在设置中;开发工具将遥测或代码共享设置同时作为训练同意;供应商通过数据共享 opt-in 提供折扣或免费额度;聚合器控制台则为付费层和免费层提供不同的训练开关。每个开关按账户生效,有时按 workspace 生效,而且默认值可能随条款更新而改变。因此,“我们检查过一次”不算有效措施。审计这些开关应该像轮换密钥一样列入定期检查清单。
**这里需要单独讨论免费模型。**前面的所有风险都会集中在免费层。免费模型发布通常由能从流量中获益的一方补贴,最常见的是模型供应商自己。因此,发送到免费版本的 prompt 会按照该方的政策流转,通常还包括训练权,并在该方运营的地区处理。对中国供应商而言,这意味着在中国处理。聚合网关之所以会公开每个 endpoint 的数据政策,并提供排除会训练数据的供应商开关,正是因为这些条款通常出现在免费路由中。经验规则很直接:把免费 endpoint 当作一次数据提交,而不是一次 API 调用。免费推理总要有人买单,代价通常就是你的 prompt。
ZDR 到底意味着什么?
ZDR 只限定三个维度中的一个,只约束链路中的一个参与方,而且仅适用于符合条件的功能。这不是批评,而是它的定义。只有明确边界,才能正确使用。
- **三个维度。**训练用途、留存时长和人工访问彼此独立。商业 API 本来就默认不使用你的数据训练;ZDR 将 payload 的留存降为零;人工访问则由滥用处理流程单独管理。混淆这三者,才会把 ZDR 夸大成它并不具备的能力。
- **ZDR 下仍会保留的内容。**usage metadata、账单记录、安全分类器输出,以及你主动启用的任何有状态功能。两家主要供应商现在都通过调整滥用监控的实现来适配 ZDR,而不是绕过它:一方只保留不含 payload 的安全信号,另一方只保留分类器结果。
- **ZDR 覆盖不到的部分。**供应商左侧的一切,包括你的 Tracing 存储、网关日志和向量记忆。一边与模型供应商签订 ZDR 协议,一边让 Tracing SaaS 无限期保存所有 prompt,这是我们见到的最常见、也最不自洽的留存姿态。
- **自托管的限制。**在自有 GPU 上运行开放权重模型可以移除所有第三方,但整个问题会转移到你自己的基础设施:推理服务器请求日志、访问日志和 trace 文件。自托管只是移动了留存面;只有主动做好日志治理,才能真正缩小它。
Synthorai 如何处理
网关这一跳由我们负责,因此承诺可以很具体。在零留存模式下,请求和响应正文只经过内存,不写入持久化存储;系统只保留计费所需的 usage record,包括时间戳、模型、token 数量,以及用于争议处理时匹配请求的内容 hash,但不会存储具体内容。在上游,路由开始前就会筛选供应商:Synthorai 只接入承诺对我们的流量实行零数据留存的供应商,唯一有明确记录的例外是 Claude Fable 5。该模型的 30 天留存由模型供应商强制要求,无法通过合同豁免。选择供应商就是选择留存策略,网关的职责是把每条路由的这一属性明确展示出来,而不是埋在政策 PDF 里:Fable 5 路由会把留存要求作为已记录的 metadata 携带,而不是等用户事后才发现。
FAQ
LLM 供应商默认会使用 API 数据训练吗?
不会。主要供应商的商业 API 默认不使用客户数据训练,各家的数据控制文档都明确写出了这一承诺。例外主要集中在长尾市场:采用 opt-out 而不是 opt-in 的消费者产品、部分提供开放权重模型的 GPU 服务商,以及把训练权作为价格一部分的免费 endpoint。
ZDR 是否意味着供应商完全不存储任何内容?
不是。ZDR 的含义是,对于符合条件的功能,不保留 prompt 和响应 payload。usage metadata、账单记录和安全分类器输出仍会保留;batch job、文件上传等有状态功能天然需要存储数据,因此不在 ZDR 范围内。应查看功能适用性表,而不是只看标题。
把生产数据发送给免费模型安全吗?
应把免费 endpoint 当作一次数据提交,而不是一次 API 调用。免费容量由能从流量中获益的一方补贴,训练权通常是交易的一部分,数据也会在补贴方运营的地区处理。对于一次性实验,这种交换可以接受;但只要内容包含客户数据、代码或凭据,通常就不值得。
自托管是否天然是最隐私的方案?
它确实能从明文链路中移除所有第三方。但它不会自动消除留存:推理服务器、反向代理和 Tracing 默认都会记录日志,因此采用默认日志配置的自托管技术栈,保留的 prompt 数据可能比 ZDR API 方案更多。隐私取决于日志配置,而不是托管模式。
来源核验日期:2026-08-29。上文每项供应商相关结论都链接到供应商自己的文档或法院原始记录。该领域的政策在发布前一个月内就发生过两次变化,因此请以链接中的实时内容为准。本文仅从工程角度解读,不构成法律意见。