---
title: "数据策略与 ZDR"
description: "pirouter 100% 零数据留存，不存储提示词和补全内容。本页说明 pirouter 记录哪些元数据、各 provider 的数据策略字段怎么读，以及怎样让请求只发给满足你要求的 provider。"
canonical: "https://pirouter.ai/zh/docs/data-policy"
last-updated: "2026-10-17"
lang: "zh"
source: "content/docs/zh/(start)/data-policy.mdx"
---

# 数据策略与 ZDR

pirouter 100% 零数据留存，不存储提示词和补全内容。本页说明 pirouter 记录哪些元数据、各 provider 的数据策略字段怎么读，以及怎样让请求只发给满足你要求的 provider。

pirouter 100% 零数据留存：你的提示词和补全内容从不存储。每个 provider 的数据策略都公开，你可以让请求只发给满足你要求的 provider。

## pirouter 存什么

请求和响应正文只在网关的内存里经过，不写盘。为了计费和排障，pirouter 只记录下面这些元数据：

| 类别       | 记录的内容                                                                 |
| -------- | --------------------------------------------------------------------- |
| 请求       | 发生时间、模型、服务这次请求的上游与部署、端点、是否成功与失败原因、是否流式、trace ID                       |
| 用量与费用    | 各类 token 数（输入、输出、缓存读写、推理、图像、音频），联网搜索与抓取次数，生成的图片张数，各项费用与当时生效的单价        |
| 延迟       | 首字节时间、生成耗时                                                            |
| 客户端      | IP 地址、国家、User-Agent、Referer 的来源部分（只到协议、域名和端口，不含路径和查询）、`X-Title` 里的应用名 |
| 你传入的标识   | `X-Pi-Session-Id`                                                     |
| 归属       | 工作区、用户、API key                                                        |
| 回退       | 这次尝试是否被下一次接手                                                          |
| 上游       | 上游自己的请求 ID、响应 ID 和它报告的模型名，以及白名单内的上游响应头（上游的请求 ID 与限流头）                 |
| **从不存储** | **提示词、补全内容、工具调用参数、图片与文件内容**                                           |

这些元数据用于计费与排障，按[隐私政策](https://pirouter.ai/zh/privacy)保留。

## 各 provider 的策略

请求由上游 provider 处理，每家有自己的条款。pirouter 在模型页和 API 里公开每个模型、每个 provider 的数据策略 `data_policy`：

| 字段                | 含义                                                        |
| ----------------- | --------------------------------------------------------- |
| `prompt_training` | provider 是否用提示词训练模型。`null` 表示没有披露                         |
| `data_retention`  | `zero` 不保留，`limited` 限期保留，`unlimited` 不限期保留，`unknown` 未披露 |
| `moderation`      | 谁负责内容审核：`provider` 由服务商负责，`developer` 由开发者负责，`none` 没有声明  |
| `reviewed`        | 运营人员是否已对照 provider 公开的条款核对过上面三项。模型页上没核对过的标 **待核实**        |

每条上游另有 `headquarters` 字段：provider 总部所在国，ISO 3166-1 两位代码，没有声明时为 `null`。它不在 `data_policy` 里。

- [在每个模型页](https://pirouter.ai/zh/models): 打开任一模型，看 Providers 区。每个 provider 一行，带它的数据策略。
- [通过 API](https://pirouter.ai/zh/docs/api/list-model-endpoints.md): `GET /v1/models/{vendor}/{model}/endpoints` 返回每个 provider 的 `data_policy`。

## 你的可选策略

| 设置                          | 效果                                                       |
| --------------------------- | -------------------------------------------------------- |
| `"data_collection": "deny"` | 只保留同时满足两条的 provider：明确声明不用提示词训练，且数据保留是零保留或限期保留。没有披露的一律排除 |
| `"zdr": true`               | 只保留零数据留存（`data_retention` 为 `zero`）的 provider            |

### 按请求设置

在请求体顶层的 `provider` 对象里写 `data_collection`（`"allow"` 或 `"deny"`）和 `zdr`（布尔）。OpenAI、Anthropic、Gemini 三种协议的请求都接受，写法见 [Provider 路由](https://pirouter.ai/zh/docs/routing.md#按请求覆盖)。

```json
{
  "model": "openai/gpt-6-sol",
  "messages": [{ "role": "user", "content": "Hello!" }],
  "provider": { "data_collection": "deny" }
}
```

只要零数据留存的 provider，把 `provider` 换成 `{ "zdr": true }`。目前只有部分模型有零数据留存的 provider，先在模型页确认。

### 按工作区设置

在控制台 **偏好设置** 页的 **隐私** 卡片里，关闭 **允许可能用数据训练的供应商**，等于给整个工作区设了 `"data_collection": "deny"`。只有工作区所有者能修改，其他成员看到的开关不可操作。

两层同时设置时只能收紧：工作区关了这个开关，请求里写 `"data_collection": "allow"` 也不生效。见[两层设置怎么合并](https://pirouter.ai/zh/docs/routing.md#两层设置怎么合并)。

## 边界情况

### 没有 provider 满足策略

策略是硬过滤。所选模型没有任何 provider 满足策略时，请求返回 `404`，错误码 `no_eligible_provider`，`error.metadata.failed_step` 为 `data_policy`。请求不会转发给不满足策略的 provider，也不计费。返回体示例见[一家都不剩时](https://pirouter.ai/zh/docs/routing.md#一家都不剩时)，处理办法见 [`no_eligible_provider`](https://pirouter.ai/zh/docs/errors.md#no_eligible_provider)。

### 写了备用模型时

请求的 `models` 里写了备用模型时，主模型被策略排空不会直接报错：网关按顺序试下一个模型，后面的模型同样受策略约束。全部排空才返回 `404 no_eligible_provider`。

## 目前没有的能力

- **工作区级的零数据留存。** 偏好设置里的 **仅零数据留存（ZDR）** 开关目前标着 **暂不可用**。要只走零数据留存的 provider，在请求里写 `"zdr": true`。

> **规划中，尚未上线：** 更多零数据留存的 provider 正在接入。

## 下一步

- [Provider 路由](https://pirouter.ai/zh/docs/routing.md): `provider` 对象的全部字段，以及两层设置怎么合并。
- [边缘加速](https://pirouter.ai/zh/docs/edge-network.md): 一个请求从你的客户端到 provider 走过的路径。
- [列出模型的上游](https://pirouter.ai/zh/docs/api/list-model-endpoints.md): `data_policy` 在 API 响应里的完整定义。
