OpenRouter:通过API路由实现AI数据驻留合规
OpenRouter 这篇指南把数据驻留从一个基建难题退化成一次 API 请求里的路由配置,对需要合规的团队是直接可抄的实操手册。
Deloitte 报告显示 77% 的公司将供应商国籍纳入 AI 选型考量。OpenRouter 将数据驻留视为路由决策:通过 API 请求中的 `provider` 对象设置 `order` 或 `only` 限定服务商、`allow_fallbacks` 为 `false` 禁止回退、`data_collection` 为 `deny` 禁止数据存储或训练、`zdr` 为 `true` 要求零数据保留。示例以 `anthropic/claude-sonnet-4.6` 调用,首选 Anthropic 直连和 Amazon Bedrock。针对欧盟需求,可限制仅 Mistral 等欧盟总部供应商。若无可合规供应商,API 返回错误而非路由至不合规服务商。
如何在不自建本地基础设施的情况下实现 AI 数据驻留合规
OpenRouter · 2026/6/22
- 将数据驻留视为路由决策
- 在单次请求中强制执行地理要求
- 在需要时指定欧盟司法管辖区
- 处理无合规提供商的情况
- 常见问题解答
德勤发布的《人工智能行业现状报告》对 24 个国家的 3,235 位企业领导者进行了调查,结果显示 77% 的公司现在已将供应商的所在国纳入 AI 供应商筛选因素。近五分之三的企业表示,其主要 AI 技术栈均选用本地供应商。
如果你的采购团队已经注意到这一点,常见思路是:合规意味着需要自建或租赁本地基础设施。但对于通过 API 调用模型的团队来说,并非如此。你的需求其实是地理推理路由——而你只需在单次请求中设置这一约束即可。
基础设施层面的方案适用于需要自拥技术栈的政府机构、国防承包商以及物理隔离环境。对于调用第三方 API 的应用团队而言,真正的问题更具体:证明受监管数据的推理发生在特定地理区域内,并且没有任何提供商留存或使用这些数据进行训练。
将数据驻留视为路由决策
一个路由层位于你的应用与模型提供商之间。你无需分别与每个提供商单独配置数据驻留(每个提供商的定义方式也各不相同),而是只需一次性设定地理区域和数据策略,让路由层仅选择符合条件的提供商。
OpenRouter 的提供商对象暴露了这些控制项。`order` 和 `only` 用于决定哪些提供商可以处理请求,`data_collection` 决定提供商标记是否可存储或使用你的数据,`zdr` 要求零数据留存。这些参数可在每次请求中单独设置,你也可以在隐私设置中将其设为账户级默认值。
这样一来,你的信任就从众多单独的提供商转移到了路由层。在通过此方式路由受监管工作负载之前,请审计 OpenRouter 自身的数据处理策略,并确认路由行为符合你的要求。
在单次请求中强制执行地理要求
以下是单次调用实现地理强制执行的示例。它优先尝试 Anthropic 的直接 API,其次是 Amazon Bedrock,并拒绝所有其他提供商:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-4.6",
"messages": [
{"role": "user", "content": "Summarize this compliance report."}
],
"provider": {
"order": ["anthropic", "amazon-bedrock"],
"allow_fallbacks": false,
"data_collection": "deny",
"zdr": true
}
}' 订单优先级由提供商设置。当 `allow_fallbacks` 为 false 时,会阻止路由到列表之外的任何提供商。`data_collection` 设为 "deny" 可排除那些存储或利用输入数据进行训练的提供商;而 `zdr` 为 true 时,可确保请求结束后提示词和补全内容不被保留。对于受监管的工作负载,应显式设置这些参数,而非依赖默认值。
每个字段对应不同的合规层。`order` 和 `only` 控制推理在何处运行;`data_collection` 和 `zdr` 控制数据的后续处理方式。它们不可互换,因此请根据实际策略需求进行设置。
在需要时锁定欧盟司法管辖区
对于欧盟要求,你可以将路由限制为仅限总部位于欧盟的提供商,并禁止数据收集。总部位于法国的 Mistral 是一个有用的欧盟司法管辖区锚点,你可以通过 `only` 和数据策略过滤条件来定义其余部分。提供商数据中心位置的独立确认仍应直接来自该提供商。
当请求绝不能离开欧盟时,企业账户可使用欧盟区域内路由。请求将通过 `eu.openrouter.ai` 在欧盟境内解密并处理,且仅由符合欧盟条件的提供商提供服务。
处理无合规提供商的情况
如果你的列表中没有可用的提供商,且 `allow_fallbacks` 为 false,API 将返回错误,而非路由到不合规的提供商——这正是受监管数据所需的行为。
应用程序决定后续操作。可以排队重试、对非敏感内容回退到非受监管路径,或向上层调用者反馈失败信息。由你决定失败模式,而非路由器。
常见问题解答
我是否需要为 AI 数据驻留构建本地基础设施?
如果你通过 API 使用模型,则无需自建基础设施。对于政府和隔离环境来说,自持技术栈是正确的选择;但对于应用团队而言,要求是地理推理路由:证明对受监管数据的推理在特定地理区域运行,并且没有提供商保留或利用该数据进行训练。这是一个每条请求都需要设置的约束条件。
如何将 OpenRouter 限制为特定的提供商或区域?
使用请求上的 provider 对象。order 或 only 控制哪些提供商可以服务该请求,data_collection 设为 deny 会阻止存储或使用你的数据进行训练的提供商,zdr 设为 true 则要求使用零数据保留端点。你也可以在隐私设置中将这些设为账户级默认值。
如果没有符合要求的提供商可用,会发生什么?
当 allow_fallbacks 设为 false 时,OpenRouter 会返回错误,而不是路由到你列表之外的提供商。你的应用决定失败模式:排队重试、对于非敏感内容回退到不受监管的路径、或直接显示错误。
OpenRouter 能否保证请求停留在欧盟境内?
对于企业账户,欧盟区域内路由通过 eu.openrouter.ai 在欧盟境内完全解密和处理请求。对于其他账户,你仍然可以将路由限制为总部位于欧盟的提供商,并拒绝数据收集,不过提供商的数据中心位置应直接向该提供商核实。
OpenRouter 会存储我的提示词吗?
由你控制。将 zdr 设为 true 会将路由限制为零数据保留端点,data_collection 设为 deny 会阻止存储或使用输入进行训练的提供商。在运行受监管的工作负载前,请查阅提供商日志记录文档和你的隐私设置。