action と、コンテンツパートごとの内訳を含む input_results を伴った HTTP 200 が返されます。Starfort は Guardian のレスポンスボディをそのまま返します。ラッパーもフィールドの再構成もありません。
action モデル
アクションのセットはポリシータイプによって異なります。- PII ポリシーは
PASS/MASK/BLOCKを返します。 - Topic ポリシーは 2-state です。
PASSまたはBLOCKを返します(unsafeに分類されたトピックはブロックされ、それ以外は通過します)。
action は、検出されたすべての中で最も重大度の高いものです:BLOCK > MASK > PASS。アクションを参照してください。
トップレベル
各
input_results[] エントリ:
MASK の例(PII)
[<MASK_WORD>_<n>]。出現ごとに番号が付与されます([PHONE_NUMBER_1]、[PHONE_NUMBER_2]、…)。
処理済みコンテンツの送出原則 — 外部へ送るのは常に processed_content
v1.4 からは、外部の AI サービスへ出ていくコンテンツは、呼び出し元が送信した原本ではなく、Guardian が内容を実際に確認して再構成した処理済みコンテンツ(processed_content)に統一されます。
- PASS — 処理済みコンテンツを送出します。マスキング対象がなく内容が原文と同じであっても、送られるのは Guardian が再構成した処理済みコンテンツです。
- MASK — マスキングされた処理済みコンテンツを送出します。
- BLOCK — 送出はありません(
processed_contentはnull)。 - 処理済みコンテンツを作れない入力(未対応ファイル、パース・デコードの失敗) — Guardian が内容を確認できなかったため
nullであり、代わりに原本を送出してはいけません(フェイルクローズ)。
v1.3 までとの違い — v1.3 までは
processed_content は MASK のときにのみ設定され、PASS は呼び出し元の原本がそのまま出ていくモデルでした(フィールドは null)。v1.4 からは PASS でも処理済みコンテンツが設定され、原本の代わりに処理済みコンテンツを送出することが契約になります。BLOCK の例(Topic)
detected_items — PII と Topic の違い
フィールドはポリシータイプによって異なります。
まずトップレベルの
action を読み取ってください。PASS と MASK では、原本ではなく processed_content を転送します(上記の処理済みコンテンツの送出原則)。BLOCK の場合はモデルを呼び出さないでください。アクションを参照してください。PASS は常に「分析済みで、何も検出されなかった」を意味する
空の results を伴う PASS は決して曖昧ではありません。それは、Guardian が分析を完了し、何も見つからなかったことを意味します。分析に失敗したという意味ではありません。Guardian が分析できないリクエストは、劣化した 200 ではなく HTTP エラーを返すため(Guardian のフェイルクローズ)、障害がクリーンな結果と誤って解釈されることは決してありません。エラーと状態を参照してください。