# Content Safety／Moderation Model・API

CURRENT_STATUS: CURRENT
OBSERVATION: SPEC_ONLY
FRESHNESS: CURRENT
PAGE_TYPE: reference
CANONICAL_URL: /tools/ea-239-content-safety-moderation-model-api
CLAIM_IDS: none
EVIDENCE_IDS: EA-239-CURRENT-APPROVAL, EA-239-CURRENT-BODY-READBACK, EVD-EA-239-URL-A306E5D40753, EVD-EA-239-URL-28AF70A1BCC3, EVD-EA-239-URL-E1ACBBDE08B4, EVD-EA-239-URL-E649CA669A6C, EVD-EA-239-URL-8474613101BE, EVD-EA-239-URL-776C7287AE56, EVD-EA-239-URL-BBDE8911AF93, EVD-EA-239-URL-95D4EDB9E82E, EVD-EA-239-URL-35E589E3740B, EVD-EA-239-URL-A43B1AEBF967, EVD-EA-239-URL-726A33388546, EVD-EA-239-URL-38242A7321CB, EVD-EA-239-URL-D28BE186F3C7, EVD-EA-239-URL-28160EA70CC9
UNKNOWN_IDS: EA-239-UNKNOWN-01
OPS_IDS: none

## Summary
Content Safety／Moderation APIは、入力や出力を「安全／危険」と最終決定する認可機構ではありません。特定のモデル、taxonomy、threshold、対応modalitiesと言語の下で、ポリシー判断に使う分類信号を返す部品です。組織側では、この信号をどの条件でblock、allow、transform、human reviewへ接続するかを別に定義します。

## Current judgment
Content Safety／Moderation APIは、入力や出力を「安全／危険」と最終決定する認可機構ではありません。特定のモデル、taxonomy、threshold、対応modalitiesと言語の下で、ポリシー判断に使う分類信号を返す部品です。組織側では、この信号をどの条件でblock、allow、transform、human reviewへ接続するかを別に定義します。

## Scope
Content Safety／Moderation Model・API

## Confirmed

## UNKNOWN
- EA-239-UNKNOWN-01: 対象provider/model/version、組織taxonomy、日本語・業務domain別のprecision/recall、画像・音声・動画要件、threshold、streaming、長文、fail-open/fail-closed、rate limit/SLA、human review/appeal、logging/retention/RBAC/residency、法務・child-safety要件、tenant固有設定は未確認です。

## Evidence
- EA-239-CURRENT-APPROVAL (RESEARCH): 現行本文の監査・revision対応
- EA-239-CURRENT-BODY-READBACK (IMPL): 現行本文の収録照合
- EVD-EA-239-URL-A306E5D40753 (RESEARCH): |official docs|Moderation guide|OpenAI|access 2026-10-05; omni-moderation-latest| — https://developers.openai.com/api/docs/guides/moderation|PRIMARY|Text+image
- EVD-EA-239-URL-28AF70A1BCC3 (RESEARCH): |official product|Upgrading the Moderation API with our new multimodal moderation model|OpenAI|2024-09-26| — https://openai.com/index/upgrading-the-moderation-api-with-our-new-multimodal-moderation-model/|PRIMARY|Multimodal
- EVD-EA-239-URL-E1ACBBDE08B4 (RESEARCH): |incident|Elevated error rates for omni-moderation-latest|OpenAI Status|2025-06-06| — https://status.openai.com/incidents/01JX3HF12T80E81HVPS1G02VJK|COUNTEREVIDENCE|Moderation
- EVD-EA-239-URL-E649CA669A6C (RESEARCH): |official docs|Harm categories and severity levels|Microsoft Azure AI Content Safety|access 2026-10-05| — https://learn.microsoft.com/en-us/azure/ai-services/content-safety/concepts/harm-categories|PRIMARY|Taxonomy/severity/threshold
- EVD-EA-239-URL-8474613101BE (RESEARCH): |official docs|Model Armor overview|Google Cloud|access 2026-10-05| — https://docs.cloud.google.com/model-armor/overview|PRIMARY|Prompt/response
- EVD-EA-239-URL-776C7287AE56 (RESEARCH): |official release notes|Model Armor release notes|Google Cloud|2025-06/07 entries, access 2026-10-05| — https://docs.cloud.google.com/model-armor/release-notes|COUNTEREVIDENCE|SKIP_DETECTION
- EVD-EA-239-URL-BBDE8911AF93 (RESEARCH): |official docs|Amazon Bedrock Guardrails|AWS|access 2026-10-05| — https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html|PRIMARY|Configurable
- EVD-EA-239-URL-95D4EDB9E82E (RESEARCH): |official docs|Guardrail components|AWS|access 2026-10-05| — https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-components.html|PRIMARY/PRIVACY|Probabilistic
- EVD-EA-239-URL-35E589E3740B (RESEARCH): |official docs|Automated Reasoning checks limitations|AWS|access 2026-10-05| — https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-automated-reasoning-checks.html|BOUNDARY|No
- EVD-EA-239-URL-A43B1AEBF967 (RESEARCH): |author-maintained repo/model card|Llama Guard 3-8B model card|Meta PurpleLlama|access 2026-10-05| — https://github.com/meta-llama/PurpleLlama/blob/main/Llama-Guard3/8B/MODEL_CARD.md|PRIMARY/COUNTEREVIDENCE|Input/output
- EVD-EA-239-URL-726A33388546 (RESEARCH): |maintainer issue|LlamaGuard Only Responds with S4 when Ages are In Prompt #74|Meta PurpleLlama issue reporter|2025-01-16; open at access| — https://github.com/meta-llama/PurpleLlama/issues/74|COUNTEREVIDENCE|Reported
- EVD-EA-239-URL-38242A7321CB (RESEARCH): |benchmark/preprint|GuardEval|Machlovi et al.|2025-12-22; arXiv:2601.03273| — https://arxiv.org/abs/2601.03273|INDEPENDENT_EVAL|Fine-grained
- EVD-EA-239-URL-D28BE186F3C7 (RESEARCH): |benchmark/preprint|PolyGuard|Kumar et al.|2025; arXiv:2504.04377| — https://arxiv.org/abs/2504.04377|INDEPENDENT_EVAL|17-language
- EVD-EA-239-URL-28160EA70CC9 (RESEARCH): |benchmark/preprint|No One Model Catches Every Harm|Orojlooyjadid, Patel|2026-08-22; arXiv:2608.21775| — https://arxiv.org/abs/2608.21775|INDEPENDENT_EVAL|53-model/11-dataset

## Failure / limits
`SAFE / FLAGGED / NOT_EVALUATED / ERROR`を潰してboolean一値にしない。
## Failure / limits
unsupported modalityや未評価channelを「safe」に倒さない。
## Failure / limits
timeout・rate limit・outage時のfallbackをrisk class別に明示する。
## Failure / limits
threshold/model/taxonomy変更時に回帰評価する。
## Failure / limits
human reviewへ送る条件とqueue overload時の挙動を決める。
## Failure / limits
moderationログを無期限のraw prompt/response保管庫にしない。
## 要点と前提
Content Safety／Moderation APIは、入力や出力を「安全／危険」と最終決定する認可機構ではありません。特定のモデル、taxonomy、threshold、対応modalitiesと言語の下で、ポリシー判断に使う分類信号を返す部品です。組織側では、この信号をどの条件でblock、allow、transform、human reviewへ接続するかを別に定義します。

## 運用で固定する境界
- **taxonomy**: hate、violence、self-harm等のカテゴリ定義は製品・モデル間で同一ではありません。カテゴリ名だけを横断的な同義語として扱いません。
- **modality**: text、image、audio、video、file、streamingのどれが実際に評価対象かを記録します。たとえばOpenAI `omni-moderation-latest` はtext/imageを扱いますがaudioは分類しません。
- **language/domain**: 「多言語対応」を全言語同等精度と解釈しません。tested languageと対象業務domainでprecision/recall/FPR/FNRを分けて評価します。
- **threshold**: vendor defaultを組織policyの閾値と同一視しません。false negativeだけでなく、医療・教育・歴史・法務・セキュリティ等のbenign hard negativeによるover-blockも測ります。
- **version**: model/API revision、policy/taxonomy revision、threshold変更を監査記録へ残し、変更時に回帰評価します。

## `safe` と `not evaluated` を分離する
最重要の実装境界は、明示的な安全判定と「評価できなかった」を混同しないことです。timeout、rate limit、provider outage、oversized input、truncation、unsupported modality、SKIP_DETECTION等を独立状態として保持し、risk classごとにfail-open、fail-closed、manual reviewのどれへ送るかを決めます。

OpenAIではmoderation model固有の障害実績があります。Google Cloud Model Armorでは入力条件により`SKIP_DETECTION`が返り得ます。したがってmoderation endpointを同期依存に置くだけでは安全設計になりません。

## 分類とenforcementを分離する
moderatorの出力を受け取ったアプリケーションが実際のenforcement pointです。以下を別レイヤとして扱います。

1. content safety分類
2. prompt injection / jailbreak検出
3. PII・機密情報検出
4. grounding / factuality checks
5. identity / authorization / tool permission
6. business policy
7. human review / appeal

Amazon BedrockのAutomated Reasoning checksのように、あるguardrail機能がprompt injectionやstreamingを対象にしない例があります。「guardrail導入済み」を全リスクの包含証明にはできません。

## 評価設計
本番投入前に、組織policyでラベル付けしたcorpusをcategory × language × modality × domainで分割します。少なくともprecision、recall、FPR、FNR、skip/error/timeout率をcategory別に測定し、benign hard negatives、境界事例、adversarial variantsを含めます。単一accuracy/F1やvendor benchmarkをtenant保証へ外挿しません。

Meta Llama Guardのmodel cardは非ゼロのfalse-positive rateとmultilingual/tool-useでの性能差を示しています。独立研究でもmoderatorの順位・性能はdataset、language、category、borderline caseで変化します。したがって「最良moderator」を固定的に選ぶのではなく、対象policyに対する評価結果を変更管理の入力にします。

## ログとprivacy
moderation対象そのものが機密・個人情報・有害コンテンツである場合があります。AWSは、設定によってblocked contentがModel Invocation Logsへplain textで残り得ると明記しています。moderationログは安全監査の証拠である一方、二次漏えい面にもなります。payload保存の必要性、redaction、retention、RBAC、residency、削除、SIEMへの二次コピーを個別に設計します。

## 失敗時の最低要件
- `SAFE / FLAGGED / NOT_EVALUATED / ERROR`を潰してboolean一値にしない。
- unsupported modalityや未評価channelを「safe」に倒さない。
- timeout・rate limit・outage時のfallbackをrisk class別に明示する。
- threshold/model/taxonomy変更時に回帰評価する。
- human reviewへ送る条件とqueue overload時の挙動を決める。
- moderationログを無期限のraw prompt/response保管庫にしない。

## 安全な公開表現
Content Safety／Moderation APIは、特定のモデル・taxonomy・threshold・入力modalitiesの下で得られる分類信号であり、組織ポリシーへの適合や安全性を単独で保証しません。対応言語・カテゴリ・入力形式、false positive/false negative、error/skip/timeout時の処理、ログへの残存を検証し、アプリケーション側のenforcementとhuman reviewを別途設計します。

## 未確定事項
対象provider/model/version、組織taxonomy、日本語・業務domain別のprecision/recall、画像・音声・動画要件、threshold、streaming、長文、fail-open/fail-closed、rate limit/SLA、human review/appeal、logging/retention/RBAC/residency、法務・child-safety要件、tenant固有設定は未確認です。

## Evidence anchors
OpenAI Moderation guide / OpenAI 2024 multimodal moderation announcement and 2025 status incident / Azure AI Content Safety harm categories and severity / Google Cloud Model Armor overview and release notes / Amazon Bedrock Guardrails and Automated Reasoning limitations / Meta PurpleLlama Llama Guard 3 model card and issue #74 / GuardEval (arXiv:2601.03273) / PolyGuard (arXiv:2504.04377) / No One Model Catches Every Harm (arXiv:2608.21775).

NEXT: /agent/start.json
STOP: This is a knowledge projection, not an execution order.