概要
ZDR(Zero Data Retention)は、しばしば「データが外部に出ない契約」と誤解される。だが実際には、プロバイダが応答を返した後に、プロンプトや応答を保存しない という約束である。データは送られている。処理もされている。違うのは、その後の保持と利用の条件だ。
この混同は、オンプレミスや個人開発の現場で特に危険だ。ZDRだから大丈夫、学習に使われないから大丈夫、ローカルだから大丈夫。それぞれの「大丈夫」が、守っている範囲を勘違いさせる。
4つを分ける
| 論点 | 問い | 代表的な制御 |
|---|---|---|
| 送信 | データはどこへ行くか | ローカル実行、BYOK、データレジデンシー |
| 保持 | 応答後に残るか | ZDR、保持期間の短縮、削除 |
| 学習利用 | モデルの改善に使われるか | 学習オプトアウト、商用契約 |
| アクセス | 誰が読めるか | 法域、監査、暗号化、秘密計算 |
ZDRは2番目の論点に効く。1番目、3番目、4番目を自動的に解決するわけではない。
ZDRでも送信はしている
OpenAIのAPIは、ZDRの対象でも推論のためにプロンプトを送信する。ZDRは、虐待監視ログから顧客コンテンツを除外し、store パラメータを強制的に false にする。だが、ZDRの対象外のエンドポイントや機能は、アプリケーション状態を保存しうる。Web検索のライブアクセスはHIPAAの対象外で、MCPサーバーに送られたデータはそのサーバーの保持ポリシーに従う。
Anthropicも同様だ。ZDRは「API応答が返った後に、顧客のプロンプトや応答を保存しない」と定義されている。ただし、法令や安全ポリシー違反でフラグが立った場合、最大2年間保持することがある。コンシューマ向け製品(Free/Pro/Max/Ultra)や、Claude Console、一部のステートフル機能はZDRの対象外だ。第三者のツールやMCP連携も対象外である。
つまり、ZDRは「送らない」ではなく「応答後に残さない」 だ。送信経路、法域、第三者連携は別に確認する必要がある。
「学習に使わない」とも違う
ZDRと「学習に使わない」は別の約束だ。
- 学習に使わないが、虐待監視のために30日保持する
- 学習にも使わず、ZDRで保持もしない
- 学習に使うが、ZDRではない
- ローカルで動かすので、そもそも外部に送らない
この4つは独立に成立する。個人が無料枠を使うとき、「学習には使わない」という表示だけを見て「ZDRと同じ」と判断すると、保持や法域の条件を見落とす。
ローカルLLMでも外に出る
ローカルLLMは1番目のリスク(モデル提供者への送信)を大きく下げる。だが、ハーネスに websearch や webfetch があれば、外部のWebとはつながる。curl や pip やMCPがあれば、外部への送信経路はいくらでも作れる。
オンプレ化で消えるのは、主に「モデル提供者への入力送信」だ。残るのは、外部入力(プロンプトインジェクション)、実行権限(持ち出し)、供給網(モデル・パッケージ・MCP) である。この分離は エージェントのリスクは4層に分かれる で整理している。
実務での確認順序
- そのデータは、そもそも外部に出してよい区分か
- 出るとして、どこへ送られるか(モデル提供者、MCP、検索API、ログ)
- 応答後に保持されるか(ZDR、保持期間、例外)
- 学習に使われるか(契約、オプトアウト)
- 誰がアクセスしうるか(法域、当局、第三者)
- ハーネス側の外部接続は何が開いているか
「ZDRだから安全」ではなく、「どのリスクを、どの契約と設計で下げているのか」 を言えるようにする。
まとめ
ZDRは、データが外に出ない魔法ではない。保持を減らす契約 である。ローカルLLMは、送信を減らす構成だが、外部入力と実行権限と供給網までは消さない。それぞれの対策が、どの層に効いているかを分けて考える必要がある。
関連ノート
- 中国製LLMのセキュリティとオンプレ運用
- なぜOpenCodeはDeepSeekを無料で使えるのか
- Web検索・Web取得を介したプロンプトインジェクションと情報漏洩
- エージェントのリスクは4層に分かれる
- 「全部禁止」は安全ではない
参考資料
- OpenAI: Data controls in the OpenAI platform(確認日: 2026-11-02)
- Anthropic: API and data retention(確認日: 2026-11-02)
- OpenAI: Offering Zero Data Retention for frontier models(確認日: 2026-11-02)