0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

会話を秘匿し、応答は止めない:Tinfoilの非同期安全判定を選ぶ条件

0
Posted at

機密を含むAIチャットでは、安全判定のために誰へ会話を渡すかが設計上の問題になる。
Tinfoilが2026年9月14日に公表し、9月16日に更新した方式は、保護された実行環境の中で会話を判定し、運営者へ本文を渡さずに違反を通知する。
ただし判定は応答と切り離して進むため、その場の有害な回答を止める防御にはならない。公式発表

この方式を採用する判断軸は、会話の秘匿、応答速度、危険な出力の即時阻止のうち、どこまでを同時に要求するかだ。

2026年9月17日時点の公式発表、技術文書、公開リポジトリのREADMEに基づく設計解説である。発表ではTinfoil Chatへ今後数週間で展開するとしており、全利用者への適用完了を確認したものではない。評価数値は同社の報告で、筆者による追試ではない。

暗号化した会話を、どこで判定するのか

通信経路をTLSで暗号化しても、サーバーが受け取って復号した後のデータまで自動的に保護されるわけではない。安全判定サービスへ平文を転送すれば、そのサービスも会話を扱う主体になる。

Tinfoilは、CPU・GPUの機密計算機能を用いたenclave、つまりホスト側から隔離された実行環境で推論を行う。データは保護された環境の内部で処理される。暗号文のまま任意の計算をするという意味ではない。技術概要

新しい安全判定も、この保護境界の中に置く。公開READMEによる処理の流れは次のとおりだ。Confidential Safeguards

  1. モデルルーターと同じenclaveに置いたsidecarが会話を受け取り、キューに入れる。
  2. 別の検証済みenclaveにある gpt-oss-safeguard-120b が、会話をポリシーに照らして分類する。
  3. 違反候補だけを、さらに別のenclaveの kimi-k3 が再審査する。
  4. 確定した違反について、利用者の認証情報と会話IDを管理系へ報告する。

管理系へ渡す違反報告には、会話本文、違反カテゴリ、判定理由を含めない。次の図はその境界を簡略化したものだ。

この構造でも、誰に違反が発生したかという情報は保護境界の外へ出る。会話本文の秘匿と、利用履歴を含めた完全な匿名性は別の要件である。アカウント停止を行う設計なら、違反を利用者へ結び付ける情報が必要になる。

応答の同期経路から、安全判定を外す

ルーターのREADMEでは、利用者へ実際に返した応答を会話履歴へ加え、非同期でsidecarへ渡すとしている。安全判定の完了を待ってから返答する構造ではない。ルーターの安全判定仕様

以下は処理の順序から導ける一般的な比較であり、製品間の実測比較ではない。

比較項目 出力を検査してから返す同期方式 Tinfoilの非同期方式
判定と応答の順序 判定を終えてから公開 応答経路と判定を分離
その回答の差し止め 判定に基づき可能 この仕組みでは不可
利用者の待ち時間 判定時間が加わる 判定完了を待たない
主な用途 出力直前の制御 継続的な違反への対応

「判定を待たない」と「計算資源を消費しない」は違う。分類モデルと再審査モデルの推論は別途必要であり、混雑すれば未処理の会話が増える。非同期化によってなくなるのは、応答を返す前に判定を完了させる依存関係だ。

API利用まで監視されるとは読まない

同じREADMEには適用範囲も明記されている。対象は /v1/chat/completions と /v1/responses に対する、自社チャットのアクセストークンで認証された通信であり、APIキーによる通信はこのsidecarへ送られない。適用条件

したがって、Tinfoilの推論APIを組み込めば自社サービスにもこの監視が付く、とは判断できない。独自アプリケーションでは、どの要求を判定するのか、判定結果で何を制御するのかを別途定義する必要がある。

二段階判定の数値は、何を示しているか

公開評価リポジトリは、提供前のモデル審査と、会話を判定する監視器の評価を分けている。ここでは後者の数値を読む。評価リポジトリ

実行時監視の評価には、前処理後で約120万件のWildChat会話を使った。一次判定で1,402件を検出し、二次判定で846件を維持したと報告している。公式発表・図2

この2つの件数から計算できるのは、一次判定が付けたフラグのうち、二次判定が取り消した割合だ。

$$
\frac{1402-846}{1402}\times100\approx39.7%
$$

公式記事はこれを約40%のfalse-positive rateと呼んでいる。しかし、通常の統計的な偽陽性率は、実際に問題のない会話を分母とする。

$$
\mathrm{FPR}=\frac{\mathrm{FP}}{\mathrm{FP}+\mathrm{TN}}
$$

上の件数だけでは、この分母は分からない。さらに、二次判定の維持・取消がすべて正解であるとも限らない。

したがって、実務上は「二次判定が一次判定の候補を約4割減らした」と読むのが適切だ。「無害な会話の4割を誤検知した」「最終段では誤検知がなくなった」のいずれも、この集計からは言えない。

一次判定で見逃した会話は二次判定へ進まないため、再審査を足すだけで検出漏れが解消するわけでもない。評価では、フラグが減った量に加えて、無作為抽出した未検出会話や、文脈の長い会話での見逃しを別に測る必要がある。

attestationが保証する対象を絞って理解する

enclaveを使うという説明だけでは、そこにどのプログラムやモデルが置かれているかは分からない。そこで使うのがremote attestation、実行環境の測定値を外部から検証する仕組みだ。

Tinfoilの技術文書では、クライアントがハードウェア署名付きの測定値と公開ビルドの情報を照合し、接続先TLS鍵も証明情報に結び付ける。モデル重みの読み取り専用ボリュームには dm-verity による検証を用いる。検証アーキテクチャ

これが支えるのは、接続先と実行構成を確かめるための根拠だ。分類モデルの判断が正しいことを、ハードウェアが証明するわけではない。

たとえば、公開された判定ポリシーに従うモデルが、婉曲表現を誤読することはあり得る。実行構成が期待どおりであることと、その構成が十分な安全性を持つことは、別々の検証課題として扱う必要がある。

限界は、会話を見られない運用にも現れる

判定前に応答が届き、判定自体が失われる場合もある

公式発表は、enclaveの版が変わると審査待ちの会話データが失われ、版をまたいで永続化されないと説明する。またsidecarのREADMEでは、モデル呼び出しに失敗した会話を破棄し、次のターンで再び拾う方針としている。更新時の扱い・エラー時の扱い

ここから、全会話について必ず最終判定が得られる、と仮定してはいけない。次のターンがなければ、再処理の機会もない。これはデータ保持を抑える利点と、監視の網羅性を維持する難しさが同じ場所に現れる例だ。

本文を持たないため、通常の問い合わせ対応も変わる

運営者へ判定カテゴリや理由を送らない構成では、担当者が保存済みの本文を開いて誤判定を直す、という対応はできない。異議申立てを設計するなら、利用者が自発的に提出する情報をどう扱うか、通常の監視とは別のデータ経路として検討する必要がある。

対象ポリシーは限定されている

公開ポリシーの主な対象は、児童への危害、大規模な暴力・テロ、自傷に関する有害な出力だ。利用規約が扱う範囲はこれより広い。Safety & Safeguards

したがって、この仕組みを企業の秘密情報流出防止、法令適合性の確認、回答の事実検証まで含む汎用的な審査とみなすことはできない。また、enclave内部では会話が処理されるため、ハードウェア、ファームウェア、検証処理、内部ソフトウェアへの依存も残る。

採用前に、応答制御と監視を別々に決める

この設計から得られる実務上の示唆は、安全判定を一つの「ガードレール」設定で済ませないことだ。次の3項目を、サービスの要求として明文化すると判断しやすい。

  • その場で止める対象。 有害な出力を利用者へ一度も渡せないなら、公開前の同期判定や、実行権限の制限を別途設ける。非同期監視だけでは要求を満たさない。
  • 境界の外へ出せる情報。 本文だけでなく、会話ID、利用者識別情報、違反の発生というメタデータも棚卸しする。
  • 判定を完了できない場合の動作。 キュー滞留、更新、呼び出し失敗時に、応答を継続するのか、機能を制限するのかを決める。

運用指標も、分類精度だけでは足りない。対象会話に対する判定完了率、判定までの時間、更新時の未処理件数を併せて測る。これらは本記事からの設計提案であり、Tinfoilが公表した達成値ではない。

会話の秘匿を重視し、継続的な違反への対応を非同期で行うサービスなら、この分離は検討に値する。一方、最初の一回の危険な出力を防ぐことが要件なら、出力前に働く制御を中心に設計する必要がある。

参考リンク

Tinfoil — Safety Without Compromising on Privacy(2026年9月14日公開、9月16日更新)

Tinfoil — Safety & Safeguards(2026年9月17日参照)

Tinfoil — System & Technology(2026年9月17日参照)

Confidential Safeguards — README(2026年9月17日参照)

Confidential Inference Router — Acceptable use safeguards(2026年9月17日参照)

Tinfoil Documentation — Backend infrastructure(2026年9月17日参照)

Tinfoil Safeguards — 評価リポジトリ(2026年9月17日参照)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?