对于处理敏感业务数据的团队来说,模型能力只是采购决策的一半,数据在调用后如何处理同样关键。OpenAI 再次确认,为符合条件的 API 客户提供 Zero Data Retention(零数据保留,ZDR),并预览 Private Safety Processing,让高级 AI 安全能力可以在不牺牲数据隐私的前提下继续运行。
ZDR 解决的是什么问题
普通 API 集成通常会涉及请求、响应、日志、滥用监测或安全评估等数据处理环节。ZDR 的核心价值,是让符合条件的客户能够以“调用结束后不保留数据”为目标来设计模型接入方案,从而降低敏感提示词、文档片段和模型输出长期留存在服务侧的风险。
这里有两个边界需要明确:
- ZDR 面向的是符合条件的 API 客户,并不等于所有账户或所有接口默认启用。
- “不保留数据”不代表调用完全不受安全控制。服务提供方仍可能需要通过合规的安全机制处理请求,具体范围取决于客户资格、产品条款和部署配置。
因此,企业不能只在客户端代码里加一个参数,就把系统描述为“零数据保留”。更稳妥的做法是把 ZDR 当作合同、账户能力和运行时配置共同组成的控制项。
Private Safety Processing 的意义
高级模型需要安全处理来识别滥用、攻击性请求、越权行为或其他风险场景。但如果安全处理本身要求复制或长期保存原始业务内容,就会和隐私、合规及数据最小化原则产生冲突。
Private Safety Processing 的方向,是在更强安全能力和更严格数据边界之间建立新的处理方式。根据目前的预览信息,它面向高级 AI 安全场景,同时强调不牺牲客户数据隐私。
对工程团队而言,这意味着安全架构不必简单地在“关闭安全能力”和“接受更多数据留存”之间二选一。实际落地时仍应确认以下问题:
- 当前模型和 API 产品是否支持该能力。
- 客户账户是否满足 ZDR 或 Private Safety Processing 的资格要求。
- 哪些数据会进入安全处理流程,处理目的和保存时长是什么。
- 请求、响应、错误信息和应用侧日志是否都遵循同一套数据策略。
- 组织是否需要额外的合同、区域、行业或审计控制。
一个可改造的 API 接入示例
下面的命令是一个可改造的最小示例。它使用环境变量保存密钥,并在请求中只发送必要内容。API_BASE_URL、模型名称和隐私相关请求头需要根据你的账户协议与实际 API 文档调整;示例本身不表示某个参数默认开启 ZDR。
export API_BASE_URL="https://api.example.com/v1"
export MODEL_NAME="frontier-model"
export OPENAI_API_KEY="replace-with-your-api-key"
curl "$API_BASE_URL/responses" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Data-Policy: zero-data-retention" \
-d @- <<'JSON'
{
"model": "frontier-model",
"input": "Summarize this document without reproducing personal identifiers: <document-text>",
"metadata": {
"request_purpose": "internal-summary"
}
}
JSON
生产环境中可以这样改造:
- 把
X-Data-Policy之类的字段视为示意配置,只有在服务方明确提供该参数时才启用。 - 在 API 网关中阻止身份证号、支付卡号和不必要的客户原文进入请求。
- 禁止把完整请求和响应写入应用日志,改用请求 ID、耗时、状态码和经过脱敏的计量信息。
- 对 ZDR 状态做自动化检查,并在资格失效或配置漂移时阻止敏感请求发送。
例如,应用侧可以把日志收敛到不包含提示词和输出的形式:
import logging
import os
import uuid
logger = logging.getLogger("model_gateway")
def audit_model_call(model: str, status: str, latency_ms: int) -> None:
# 只记录可用于排障和计量的最小字段,不记录请求正文或模型输出。
logger.info(
"model_call request_id=%s model=%s status=%s latency_ms=%d policy=%s",
uuid.uuid4(),
model,
status,
latency_ms,
os.getenv("DATA_RETENTION_POLICY", "unknown"),
)
audit_model_call("frontier-model", "success", 842)
如何评估是否适合采用
ZDR 更适合对数据生命周期有明确要求的场景,例如企业内部知识处理、受监管行业的文本分析,或不希望模型调用内容进入长期服务端存储的工作流。但它不是完整的隐私方案:数据可能仍会出现在客户端缓存、代理层、APM、队列、备份或人工运维工具中。
可以在上线前使用这份检查清单:
- 账户和具体 API 产品已确认具备 ZDR 资格。
- 数据处理协议明确了请求、响应和安全处理的边界。
- Private Safety Processing 的适用范围和预览状态已得到确认。
- 网关、应用日志、错误追踪和备份都完成了数据最小化。
- 已为异常配置、资格变化和供应商策略变化准备告警。
- 业务方知道 ZDR 降低的是服务侧数据留存风险,而不是消除所有数据泄露风险。
真正成熟的采用方式,是把“零数据保留”写进数据分类、API 网关、日志策略和供应商审查流程,再用 Private Safety Processing 补足高级模型安全处理的需求。这样既能利用前沿模型,也能让隐私控制成为可验证的工程属性,而不是一项模糊承诺。