> ## Documentation Index
> Fetch the complete documentation index at: https://adcp-docs-ja.pier1.co.jp/llms.txt
> Use this file to discover all available pages before exploring further.

# AI プロベナンスと開示

> AdCP プロベナンスメタデータは、クリエイティブアセットとマニフェストにおける AI の関与、使用ツール、規制上の開示義務を宣言します。

プロベナンスメタデータはクリエイティブコンテンツがどのように制作されたかを宣言する — AI が関与したかどうか、どのツールが使用されたか、宣言当事者がどの開示義務が適用されると考えているか。EU AI 法やカリフォルニア州 SB 942 などの規制は、開示義務をデプロイヤーと対象プラットフォームに課します。AdCP は、それらの当事者が依拠する構造化されたプロベナンスシグナルをプログラマティックなサプライチェーンを通じて運び、すべての参加者が同じデータを宣言、転送、検証できるようにします。プロベナンスはクリエイティブマニフェスト、個々のアセット、またはコンテンツ標準アーティファクトに付与されます。これは宣言当事者による主張だ — 受信当事者は自身の検出ツールを使用して主張を独立して検証します。

<Info>
  EU AI 法第 50 条の施行は 2026 年 8 月から始まる。カリフォルニア州 SB 942 はすでに有効です。主要プラットフォームは今日 AI コンテンツのラベリングを義務付けています。AdCP は、これらの規制が依拠する構造化された機械可読なプロベナンスと開示のメタデータを、それ以前に標準が存在しなかったプログラマティックなサプライチェーンを通じて運びます。プロトコルはデータを動かします。法的義務は依然として、エンドユーザーへの開示を行うデプロイヤーにあります。
</Info>

## プロベナンスオブジェクト

プロベナンスはクリエイティブアセット、クリエイティブマニフェスト、個々の型付きアセット、コンテンツアーティファクトに付与できるオプションのオブジェクトです。プロベナンスレベルでは必須フィールドはない — 各セクションは独立して有用です。

**スキーマ**: [provenance.json](https://adcontextprotocol.org/schemas/v3/core/provenance.json)

| フィールド                 | 型                  | 説明                                                                                                 |
| --------------------- | ------------------ | -------------------------------------------------------------------------------------------------- |
| `digital_source_type` | enum               | AI 関与の IPTC 準拠分類                                                                                   |
| `ai_tool`             | object             | 使用された AI システム（`name` 必須、オプションで `version` と `provider`）                                             |
| `human_oversight`     | enum               | 制作プロセスにおける人間の関与レベル                                                                                 |
| `declared_by`         | object             | このプロベナンス主張を付与する当事者（`role` 必須、オプションで `agent_url`）                                                   |
| `declared_at`         | string (date-time) | このプロベナンス主張がいつなされたか（ISO 8601）、`created_time` とは別                                                    |
| `created_time`        | string (date-time) | コンテンツが作成されたとき（ISO 8601）                                                                            |
| `c2pa`                | object             | C2PA サイドカーマニフェスト参照（`manifest_url` 必須）。アドサーバーのトランスコードで壊れる——中間者を含むパイプラインには `embedded_provenance` を使う |
| `embedded_provenance` | array              | コンテンツストリーム*内*に埋め込まれたプロベナンスメタデータ（マニフェストラッパーまたは不可視マーカー）。トランスコードと再エンコードを生き延びる                         |
| `watermarks`          | array              | 識別子またはフィンガープリントをエンコードするコンテンツウォーターマーク。知覚的な変換を生き延びる                                                  |
| `disclosure`          | object             | 規制上の開示要件と管轄区域の詳細                                                                                   |
| `verification`        | array              | サードパーティの検証または検出結果                                                                                  |
| `ext`                 | object             | 標準拡張ポイント                                                                                           |

### 最小限の例

ほとんどのプロベナンス宣言は1つの質問に答える: **これは AI 生成か、開示ラベルが必要か?**

```json theme={null}
{
  "$schema": "/schemas/core/provenance.json",
  "digital_source_type": "trained_algorithmic_media",
  "disclosure": {
    "required": true
  }
}
```

それだけです。`digital_source_type` はコンテンツがどのように制作されたかを示します。`disclosure.required` はラベルが必要かどうかを示します。それ以外のすべて — ツールの詳細、C2PA 参照、管轄区域固有のレンダリングガイダンス、検証結果 — は必要なときにサプライチェーン参加者が追加できるオプションのコンテキストです。

AI が関与していないコンテンツの場合、プロベナンスはさらにシンプルだ:

```json theme={null}
{
  "$schema": "/schemas/core/provenance.json",
  "digital_source_type": "digital_capture"
}
```

### 完全な例

```json theme={null}
{
  "$schema": "/schemas/core/provenance.json",
  "digital_source_type": "trained_algorithmic_media",
  "ai_tool": {
    "name": "DALL-E 3",
    "version": "3.0",
    "provider": "OpenAI"
  },
  "human_oversight": "selected",
  "declared_by": {
    "agent_url": "https://creative.pinnaclemedia.example.com",
    "role": "agency"
  },
  "declared_at": "2026-02-15T14:35:00Z",
  "created_time": "2026-02-15T14:30:00Z",
  "c2pa": {
    "manifest_url": "https://cdn.pinnaclemedia.example.com/c2pa/manifests/hero_img_abc123.c2pa"
  },
  "disclosure": {
    "required": true,
    "jurisdictions": [
      {
        "country": "US",
        "region": "CA",
        "regulation": "ca_sb_942",
        "label_text": "Created with AI",
        "render_guidance": {
          "persistence": "flexible",
          "positions": ["prominent", "footer"]
        }
      },
      {
        "country": "DE",
        "regulation": "eu_ai_act_article_50",
        "label_text": "KI-generiert",
        "render_guidance": {
          "persistence": "continuous",
          "positions": ["overlay", "subtitle"]
        }
      }
    ]
  },
  "verification": [
    {
      "verified_by": "Reality Defender",
      "verified_time": "2026-02-15T15:00:00Z",
      "result": "ai_generated",
      "confidence": 0.97,
      "details_url": "https://realitydefender.example.com/reports/abc123"
    }
  ]
}
```

## デジタルソースタイプ

`digital_source_type` 列挙型は、[IPTC digitalsourcetype 語彙](https://cv.iptc.org/newscodes/digitalsourcetype/)に準拠したコンテンツ制作における AI 関与を分類します。

**スキーマ**: [digital-source-type.json](https://adcontextprotocol.org/schemas/v3/enums/digital-source-type.json)

| 値                                          | 説明                                                                   | 使用場面                                               |
| ------------------------------------------ | -------------------------------------------------------------------- | -------------------------------------------------- |
| `digital_capture`                          | AI 関与なしにデジタルデバイス（カメラ、スキャナー、画面録画）によってキャプチャされた                         | プロダクト撮影の写真、アプリデモの画面録画                              |
| `digital_creation`                         | AI 生成なしにデジタルツール（Photoshop、Illustrator、After Effects）を使用して人間が作成した     | 手動でデザインされたバナー広告、手動で構成されたレイアウト                      |
| `trained_algorithmic_media`                | トレーニング済み AI モデル（DALL-E、Midjourney、Stable Diffusion、Sora）によって完全に生成された | AI 生成のヒーロー画像、AI 制作のビデオスポット                         |
| `composite_with_trained_algorithmic_media` | 人間が作成したコンテンツと AI 生成要素を組み合わせた                                         | AI 生成バックグラウンドのプロダクト写真、AI 視覚効果の人間撮影ビデオ              |
| `algorithmic_media`                        | 機械学習なしの決定論的アルゴリズム（手続き型生成、ルールベースシステム）によって制作された                        | プログラマティックビジュアライゼーション、手続き型パターン生成                    |
| `composite_capture`                        | AI なしに複数のデジタルキャプチャを合成した                                              | パノラマステッチング、多重露光 HDR 合成                             |
| `composite_synthetic`                      | 少なくとも1つが AI 生成の複数要素の合成                                               | AI 生成バックグラウンドに合成されたストック写真、キャプチャビデオへの AI テキストオーバーレイ |
| `human_edits`                              | 非生成ツールを使用して人間がコンテンツを補強、修正、または強化した                                    | カラー補正されたプロダクト写真、手動でレタッチされたポートレート、人間によるコピー編集        |
| `data_driven_media`                        | 構造化データフィードから組み立てられた（DCO テンプレート、プロダクトカタログ、気象トリガーバリアント）                | ダイナミッククリエイティブ最適化、カタログ駆動プロダクトカルーセル、気象応答型広告          |

### 適切な値の選び方

混合制作のクリエイティブでは、プロベナンスが付与されているレベルで**クリエイティブ全体**を最もよく説明する値を選ぶ。アセットごとに AI 関与を区別する必要がある場合は、代わりに個々のアセットレベルでプロベナンスを付与する（下記[継承](#inheritance)を参照）。

一般的なパターン:

* **AI 画像 + 人間のコピー**: 画像アセットに `trained_algorithmic_media` を付与し、テキストアセットに `digital_creation` を付与し、マニフェストレベルに `composite_with_trained_algorithmic_media` を付与します
* **AI 生成ヘッドラインの DCO**: マニフェストレベルで `data_driven_media`、AI 生成テキストアセットに `trained_algorithmic_media`
* **人間の写真家 + AI 背景除去**: マニフェストレベルで `composite_with_trained_algorithmic_media`

## ヒューマンオーバーサイト

`human_oversight` 列挙型は、AI 支援制作プロセスにおける人間の関与レベルを説明します。

| 値             | 説明                                   |
| ------------- | ------------------------------------ |
| `none`        | 生成に人間の関与なしに完全自動化                     |
| `prompt_only` | 人間がプロンプトまたは指示を提供したが出力をレビューしなかった      |
| `selected`    | 人間が複数の AI 生成候補から選択した                 |
| `edited`      | 人間が AI 生成出力を編集または改良した                |
| `directed`    | 人間が AI を補助ツールとして使用してクリエイティブプロセスを指揮した |

このフィールドは `digital_source_type` が AI 関与を示す場合に関連します。AI 非関与コンテンツの場合は省略します。

<Warning>
  `human_oversight` と `disclosure.required` は独立したフィールドであり、プロトコルは一方から他方を導出しません。一部の規制は、人間が編集した、または人間が指揮した AI 出力を開示義務から除外します（例: 人間が編集責任を負う EU AI 法第 50 条 (4)）。プロトコルはその判断を宣言当事者の法的分析に委ねます。`human_oversight: edited` や `directed` を主張しても、それ自体では `disclosure.required: false` を正当化しません——除外にはスキーマが評価できない事実上の前提条件があります。セラーとガバナンスエージェントは、この組み合わせを監査に値する主張として扱い、宣言当事者からの裏付けとなる証拠を要求してもかまいません。
</Warning>

ガバナンスエージェントは、この監査に値するパターンを `get_creative_features.audit_observations[]` を通じて `OVERSIGHT_DISCLOSURE_CARVEOUT_CLAIMED` で表面化します。その観測はそれ自体では拒否コードではありません——クリエイティブが通常のレビューを進む間、セラーが監査のために主張を保持またはルーティングできるようにするものです。

<h2 id="inheritance">
  継承
</h2>

プロベナンスはクリエイティブ階層の3つのレベルに付与されます。最も具体的なプロベナンスが優先され、置換は**オブジェクト全体** — フィールドレベルのマージは行われない。

```
creative-asset.provenance        (1) ライブラリのクリエイティブのデフォルト
  creative-manifest.provenance   (2) このマニフェストのデフォルト
    individual asset .provenance (3) 特定アセットのオーバーライド
```

### 解決ルール

1. 個々のアセットに `provenance` がある場合、それを使用します
2. そうでなければ、マニフェストに `provenance` がある場合、それを使用します
3. そうでなければ、クリエイティブアセットに `provenance` がある場合、それを使用します
4. そうでなければ、そのアセットのプロベナンスは宣言されていません

### 例: 混合クリエイティブ

画像が AI 生成だがコピーが人間が書いたクリエイティブ。マニフェストレベルのプロベナンスがクリエイティブ全体をカバーします。画像アセットが独自のより具体的なプロベナンスでオーバーライドします。

```json theme={null}
{
  "$schema": "/schemas/core/creative-manifest.json",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  },
  "provenance": {
    "digital_source_type": "composite_with_trained_algorithmic_media",
    "declared_by": { "role": "agency" }
  },
  "assets": {
    "banner_image": {
      "asset_type": "image",
      "url": "https://cdn.novabrands.example.com/hero_ai.jpg",
      "width": 300,
      "height": 250,
      "provenance": {
        "digital_source_type": "trained_algorithmic_media",
        "ai_tool": {
          "name": "DALL-E 3",
          "version": "3.0",
          "provider": "OpenAI"
        },
        "human_oversight": "selected",
        "declared_by": { "role": "agency" },
        "c2pa": {
          "manifest_url": "https://cdn.novabrands.example.com/c2pa/hero_ai.c2pa"
        }
      }
    },
    "headline": {
      "asset_type": "text",
      "content": "Nutrition dogs love"
    },
    "clickthrough_url": {
      "asset_type": "url",
      "url": "https://novabrands.example.com/products?campaign={MEDIA_BUY_ID}"
    }
  }
}
```

この例では:

* `banner_image` は独自のプロベナンスを使用します: `trained_algorithmic_media` と完全な AI ツールの詳細
* `headline` はマニフェストレベルのプロベナンスを継承する: `composite_with_trained_algorithmic_media`
* `clickthrough_url` もマニフェストレベルのプロベナンスを継承します

画像のプロベナンスは完全な置換であることに注意。マニフェストレベルのプロベナンスに `declared_by` があっても、その情報を引き継ぐべき場合は画像アセットが独自のプロベナンスオブジェクトで再宣言しなければなりません。

### アーティファクトの継承

コンテンツアーティファクト（パブリッシャーコンテンツ）の場合も同じパターンが適用されます:

```
artifact.provenance                  (1) アーティファクトのデフォルト
  artifact.assets[].provenance       (2) 特定のインラインアセットのオーバーライド
```

```json theme={null}
{
  "$schema": "/schemas/content-standards/artifact.json",
  "property_rid": "01916f3a-a1d3-7000-8000-000000000030",
  "artifact_id": "article_ai_trends_2026",
  "provenance": {
    "digital_source_type": "digital_creation",
    "declared_by": { "role": "platform" }
  },
  "assets": [
    {
      "type": "text",
      "role": "title",
      "content": "AI trends reshaping the industry in 2026"
    },
    {
      "type": "image",
      "url": "https://cdn.aimagazine.example.com/illustration.jpg",
      "alt_text": "Conceptual illustration of neural networks",
      "provenance": {
        "digital_source_type": "trained_algorithmic_media",
        "ai_tool": { "name": "Midjourney", "version": "v7" },
        "human_oversight": "directed",
        "declared_by": { "role": "platform" }
      }
    }
  ]
}
```

記事のテキストはアーティファクトから `digital_creation` を継承します。イラストは独自の `trained_algorithmic_media` プロベナンスでオーバーライドします。

## トラストモデル

<Warning>
  プロベナンスは宣言当事者による**主張**だ。証明ではありません。執行当事者は独立して検証するべきです。
</Warning>

広告において、プロベナンスを宣言する当事者と執行する当事者は競合する動機を持ちます。クリエイティブを提出するバイヤーは、コンテンツが人間制作だと主張する理由がある — AI 生成クリエイティブは特定のインベントリでプレースメント制限、必須開示ラベル、または完全な拒否に直面する可能性があります。そのクリエイティブを受け入れるセラーは逆の動機を持ちます: 適切な開示なしに AI 生成コンテンツを公開すると、広告主ではなくパブリッシャーに規制上の責任が生じる。AdCP はプロベナンスを事実ではなく主張として扱うことでこの緊張を処理します。バイヤーが宣言し、セラーが検証します。検証は各執行ポイントで独立して行われ、AI 検出サービス（`get_creative_features` 経由）、C2PA マニフェスト検証、または両方を使用します。どの当事者も他の当事者の主張を信頼する必要はない。プロトコルは主張のための構造と検証のための統合ポイントを提供する — サプライチェーンは両者を誠実に保つ敵対的な圧力を提供します。

`declared_by` フィールドはプロベナンス主張を付与した者を識別します。`verification` 配列は宣言当事者が透明性のために開示したい検出結果を保持します。しかし、プロベナンス要件を執行する当事者は、バイヤーが付与した結果を信頼するのではなく、既存のガバナンスインフラを通じて独自の検証を実行します。

```mermaid theme={null}
sequenceDiagram
    participant Buyer as Buyer Agent
    participant Seller as Seller Agent
    participant Detector as AI Detection Agent

    Note over Buyer: 1. DECLARATION
    Buyer->>Seller: sync_creatives with provenance<br/>digital_source_type: "digital_capture"

    Note over Seller: 2. POLICY CHECK
    Seller->>Seller: creative_policy.provenance_required = true<br/>Provenance present? Yes

    Note over Seller: 3. INDEPENDENT VERIFICATION
    Seller->>Detector: get_creative_features<br/>(creative manifest)
    Detector-->>Seller: feature_id: "ai_generated"<br/>value: true, confidence: 0.94

    Note over Seller: 4. ENFORCEMENT
    Seller->>Seller: Buyer claims "digital_capture"<br/>Detection says "ai_generated"<br/>Mismatch -- reject creative

    Seller-->>Buyer: Creative rejected:<br/>"AI detection contradicts provenance claim"
```

### 宣言当事者の役割

| 役割           | 説明                             |
| ------------ | ------------------------------ |
| `creator`    | コンテンツを作成または生成した当事者             |
| `advertiser` | コンテンツを所有するブランドまたは広告主           |
| `agency`     | 広告主の代理で行動するエージェンシー             |
| `platform`   | コンテンツを処理した広告プラットフォームまたはパブリッシャー |
| `tool`       | プロベナンスメタデータを付与した自動化ツールまたはサービス  |

### バイヤーが付与する検証

プロベナンスオブジェクトの `verification` 配列は、宣言当事者が透明性のために検出結果を共有できるようにします。複数のサービスが同じコンテンツを独立して評価できる:

```json theme={null}
{
  "verification": [
    {
      "verified_by": "Hive Moderation",
      "verified_time": "2026-02-15T15:00:00Z",
      "result": "ai_generated",
      "confidence": 0.96,
      "details_url": "https://hive.example.com/reports/abc123"
    },
    {
      "verified_by": "Reality Defender",
      "verified_time": "2026-02-15T15:05:00Z",
      "result": "ai_generated",
      "confidence": 0.93
    }
  ]
}
```

これらの結果は**補足的なもの**だ。プロベナンス検証を要求するセラーは、バイヤーが付与した結果を信頼するのではなく、[`get_creative_features`](/docs/governance/creative/get_creative_features) を通じて独自の検出を実行します。

検証結果は4つの結果のいずれかを使用します:

| 結果             | 説明                                            |
| -------------- | --------------------------------------------- |
| `authentic`    | AI 非生成として検証されたコンテンツ                           |
| `ai_generated` | AI 生成として検出されたコンテンツ                            |
| `ai_modified`  | AI 変更として検出されたコンテンツ（AI 改変を加えたオリジナルの非 AI コンテンツ） |
| `inconclusive` | 検出が確信を持った判断に達することができなかった                      |

### 例: キャンペーンを通じたプロベナンス

Acme Brands が春のキャンペーンを実施しています。エージェンシーの Meridian Media が AI 画像ジェネレーターを使用してディスプレイバナーセット — AI 生成バックグラウンドのフォトリアリスティックなプロダクトショット — を制作します。Meridian はクリエイティブマニフェストにプロベナンスを付与する: `digital_source_type` は `composite_with_trained_algorithmic_media`、`ai_tool` がジェネレーターを識別し、`disclosure.required` は `true` で適用規制として `eu_ai_act_article_50` と `ca_sb_942` がリストされます。EU 管轄区域では、Meridian は `render_guidance.persistence` を `continuous` に設定し `positions` は `overlay` を優先する — EU AI 法の継続的なラベリング要件を表現しています。

キャンペーンは AdCP を通じて Pinnacle Publishing に提出されます。Pinnacle の広告運用プラットフォームがプロベナンス主張を確認し、`get_creative_features` を通じてクリエイティブを検証パイプラインで実行します。AI 検出サービスは 0.94 の信頼度で `ai_modified` を返す — 宣言されたソースタイプと一致しています。主張が検証されると、Pinnacle は自身の管轄区域ポリシーを適用します——SB 942 の下での対象プラットフォームとして、Meridian の `disclosure.required: true` を権威あるものとして依拠するのではなく、自身の開示判断を下します——配信管轄区域のレンダリングガイダンスを読み取り、指定された持続性で開示ラベルを適用し、クリエイティブの配信をクリアします。プロベナンスメタデータ、検出結果、レンダリングガイダンス、開示決定がすべて記録され監査可能になります。

Meridian が代わりに `digital_capture` と宣言していた場合 — AI 関与なしと主張 — Pinnacle の検出サービスが不一致にフラグを立てていました。クリエイティブは配信されずレビューのために保留されていました。

## C2PA インテグレーション

`c2pa` フィールドは、[C2PA Content Credentials](https://c2pa.org/) — Coalition for Content Provenance and Authenticity が開発した暗号プロベナンス標準 — へのソフト参照を提供します。

```json theme={null}
{
  "c2pa": {
    "manifest_url": "https://cdn.acmecorp.example.com/c2pa/manifests/hero_abc123.c2pa"
  }
}
```

### なぜ URL 参照か

C2PA バインディングは通常、メディアファイル自体に埋め込まれる。しかし、広告技術パイプラインはクリエイティブアセットを日常的にトランスコード、リサイズ、再フォーマットし、その過程でファイルレベルの C2PA バインディングを壊す。元の C2PA マニフェストストアへの URL 参照はこのトランスコーディングを生き残り、サプライチェーンを通じたプロベナンスのチェーンを保持します。

参照はポインターであり、C2PA の置き換えではありません。チェーン内のどの当事者も、メディアファイルがトランスコードされた後でも、URL からマニフェストをフェッチして元のコンテンツ資格情報を検証できます。

### 使用パターン

1. クリエイターがコンテンツを生成し、C2PA マニフェストを作成します
2. クリエイターがマニフェストストアを安定した URL にアップロードします
3. クリエイターが AdCP プロベナンスに `manifest_url` を付与します
4. 下流の当事者（エージェンシー、プラットフォーム、セラー）はいつでもマニフェストをフェッチして元の資格情報を検証できます

## 開示要件

`disclosure` オブジェクトは AI 生成コンテンツの規制上の義務を宣言します。

```json theme={null}
{
  "disclosure": {
    "required": true,
    "jurisdictions": [
      {
        "country": "US",
        "region": "CA",
        "regulation": "ca_sb_942",
        "label_text": "Created with AI",
        "render_guidance": {
          "persistence": "flexible",
          "positions": ["prominent", "footer"]
        }
      },
      {
        "country": "DE",
        "regulation": "eu_ai_act_article_50",
        "label_text": "KI-generiert",
        "render_guidance": {
          "persistence": "continuous",
          "positions": ["overlay", "subtitle"]
        }
      },
      {
        "country": "CN",
        "regulation": "cn_deep_synthesis",
        "label_text": "AI-generated content",
        "render_guidance": {
          "persistence": "initial",
          "min_duration_ms": 3000,
          "positions": ["overlay", "pre_roll"]
        }
      }
    ]
  }
}
```

| フィールド                                             | 必須  | 説明                                                       |
| ------------------------------------------------- | --- | -------------------------------------------------------- |
| `required`                                        | Yes | 適用規制に基づいて AI 開示が必要かどうか                                   |
| `jurisdictions`                                   | No  | 開示義務が適用される管轄区域の配列                                        |
| `jurisdictions[].country`                         | Yes | ISO 3166-1 alpha-2 国コード                                  |
| `jurisdictions[].region`                          | No  | 地域コード（例: カリフォルニア州の場合 `CA`）                               |
| `jurisdictions[].regulation`                      | Yes | 規制識別子                                                    |
| `jurisdictions[].label_text`                      | No  | 現地語での必須開示ラベルテキスト                                         |
| `jurisdictions[].render_guidance`                 | No  | この管轄区域で開示をどのようにレンダリングすべきか                                |
| `jurisdictions[].render_guidance.persistence`     | No  | 開示がどのくらい持続しなければなりませんか: `continuous`、`initial`、`flexible` |
| `jurisdictions[].render_guidance.min_duration_ms` | No  | ミリ秒単位の最小表示時間（`initial` 持続性の必須コンテキスト）                     |
| `jurisdictions[].render_guidance.positions`       | No  | 優先順位付きの推奨開示位置（最初にサポートされるものが使用されます）                       |

### レンダリングガイダンス

各管轄区域の `render_guidance` オブジェクトは、規制の要件に基づいて開示をどのようにレンダリングすべきかについての宣言当事者の意図を表現します。規制によって持続性の要件が異なる:

* **`continuous`** — 開示はコンテンツ表示の全期間を通じて視覚的または聴覚的に存在し続けなければなりません。ビデオ/オーディオの場合は全再生時間。静的フォーマット（ディスプレイ、DOOH）の場合は全表示スロット。DOOH では「コンテンツ時間」はスクリーンのフルローテーションサイクルではなく、ローテーション内の広告の表示スロットを意味します。
* **`initial`** — 開示は削除される前に最小時間、開始時に表示されなければなりません。`min_duration_ms` と組み合わせて時間を指定する — それなしでは、時間はパブリッシャーの裁量に委ねられます。
* **`flexible`** — 開示の存在で十分。パブリッシャーがタイミングと時間を制御します。

同じ管轄区域に複数のソースが持続性を指定する場合（例: `required_disclosures[].persistence` とプロベナンス `render_guidance.persistence`）、最も制限的なモードが適用されます: `continuous` > `initial` > `flexible`。

`positions` 配列は順序付き優先リストです。配信フォーマットがサポートする最初の位置が使用されるべきです。例えば、`["overlay", "subtitle"]` は「オーバーレイを優先し、オーバーレイが利用できない場合はサブタイトルにフォールバックする」を意味します。

すべての位置と持続性の組み合わせが意味のあるわけではありません。本質的に持続時間が限定される位置 — `end_card`、`pre_roll` — はコンテンツの一部にのみ表示されるため、`continuous` 持続性を満たすことができません。クリエイティブエージェントはこれらの位置で `continuous` を要求すべきではなく、フォーマットはそれらの `continuous` サポートを主張すべきではありません。

オーディオのみの環境（ポッドキャスト、ストリーミングオーディオ、スマートスピーカー）では、`audio`、`pre_roll`、`companion` の位置のみが適用されます。視覚的な位置（`overlay`、`footer`、`subtitle`）はスクリーンなしでは未定義です。オーディオフォーマット用に構築するクリエイティブエージェントは `render_guidance.positions` をオーディオ互換の値に限定すべきです。

レンダリングガイダンスはクリエイティブとともにサプライチェーンを通じて移動します。配信時に、パブリッシャーはプロベナンスからガイダンスを読み取り、それに応じてレンダリングします。ガバナンスエージェントはパブリッシャーが宣言されたガイダンスに従ったかどうかを監査できます。

### マルチアセット集計

DCO で一般的な、同じ管轄区域に対して異なる `render_guidance` を持つ複数のアセットからクリエイティブが組み立てられる場合、最も制限的な持続性が組み立てられたクリエイティブ全体に適用されます: いずれかのアセットが `continuous` を必要とする場合、組み立てられたクリエイティブも `continuous` を必要とします。これは競合解決と同じ優先順位に従う: `continuous` > `initial` > `flexible`。

### 執行と自己報告コンプライアンス

パブリッシャーがレンダリングサーフェスを制御するフォーマット（ホスト型ビデオ、ディスプレイバナー、SSAI）では、パブリッシャーはレンダリングガイダンスを直接執行できる — オーバーレイをレンダリングし、その時間を制御し、コンプライアンスを検証します。

不透明な自己レンダリングクリエイティブ（MRAID、JavaScript タグ、VPAID）では、クリエイティブが独自のビューポートを制御します。パブリッシャーはクリエイティブのサンドボックス内に開示レンダリングを注入または執行できません。この場合、開示コンプライアンスはビルド中にクリエイティブエージェントが開示を埋め込むことに依存します。フォーマットの `disclosure_capabilities` はこれを反映すべきだ: フォーマットのレンダリング層が検証または執行できる持続性モードのみを主張し、クリエイティブの自己コンプライアンスに依存するモードは主張しません。ガバナンスエージェントは、ヘッドレス環境でクリエイティブをレンダリングして開示の存在を検査することにより、`get_creative_features` を通じて事後に自己レンダリングされた開示を検証できます。

### 既知の規制識別子

| 識別子                    | 規制              | ステータス          |
| ---------------------- | --------------- | -------------- |
| `eu_ai_act_article_50` | EU AI 法第 50 条   | 2026 年 8 月施行   |
| `ca_sb_942`            | カリフォルニア州 SB 942 | 2026 年 1 月より有効 |
| `cn_deep_synthesis`    | 中国ディープシンセシス規定   | 有効             |

規制識別子は慣例であり、クローズドな列挙型ではありません。プロトコル変更なしに新しい規制を参照できます。

## 埋め込みプロベナンスとウォーターマーク

`c2pa.manifest_url` はサイドカー参照です: 分離された暗号マニフェストへの URL ポインタ。ネットワークを越えて耐久性がありますが、ファイルレベルの C2PA バインディングはアドサーバーのトランスコード、リサイズ、再エンコードを生き延びません。アセットがパブリッシャーに到達する前に中間者を通過するパイプラインでは、トランスコード耐性のある二つのフィールドがアセット自体の内側にプロベナンスの証拠を運びます。

### `embedded_provenance[]`

コンテンツストリーム*内*に運ばれるプロベナンスメタデータ——ファイルコンテナに埋め込まれたマニフェスト（例: JPEG の JUMBF ボックス、C2PA セクション A.7 に従う平文の C2PATextManifestWrapper）として、またはプロベナンスレコードをエンコードまたは参照するコンテンツ内の不可視マーカーとして。

```json theme={null}
{
  "embedded_provenance": [
    {
      "method": "provenance_markers",
      "provider": "Encypher",
      "verify_agent": {
        "agent_url": "https://governance.encypher.example",
        "feature_id": "encypher.markers_present"
      },
      "embedded_at": "2026-04-30T10:15:00Z"
    }
  ]
}
```

| フィールド          | 必須  | 説明                                                                                                                                                              |
| -------------- | --- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `method`       | Yes | `manifest_wrapper` または `provenance_markers`（[`embedded-provenance-method`](https://adcontextprotocol.org/schemas/v3/enums/embedded-provenance-method.json) を参照） |
| `provider`     | Yes | 埋め込みを実行した組織（表示ラベルであり、ワイヤー識別子ではない）                                                                                                                               |
| `standard`     | No  | 埋め込みが準拠する標準（例: `c2pa`）                                                                                                                                          |
| `verify_agent` | No  | `get_creative_features` を通じてこの埋め込みを検証できる AdCP ガバナンスエージェント                                                                                                       |
| `embedded_at`  | No  | 埋め込みが適用されたとき（ISO 8601）                                                                                                                                          |

`verify_agent` は、受信者が自己検証できないメソッド（例: `provenance_markers`）では存在すべきです（SHOULD）。受信者がすでに信頼する公開鍵を持つ C2PA テキストマニフェストのような自己検証可能な埋め込みでは省略してもよい（MAY）。

### `watermarks[]`

アセット内に識別子またはフィンガープリントをエンコードするコンテンツウォーターマーク。埋め込みプロベナンスとは異なります: ウォーターマークは識別子（誰が生成したか、誰が所有するか）を運び、埋め込みプロベナンスは構造化されたプロベナンスレコード（完全な管理の連鎖）を運ぶか参照します。単一のアセットは両方を運べます。

```json theme={null}
{
  "watermarks": [
    {
      "media_type": "video",
      "provider": "Imatag",
      "verify_agent": {
        "agent_url": "https://governance.imatag.example",
        "feature_id": "imatag.watermark_detected"
      },
      "c2pa_action": "c2pa.watermarked.unbound"
    }
  ]
}
```

| フィールド          | 必須  | 説明                                                                                                                                                                              |
| -------------- | --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `media_type`   | Yes | `audio`、`image`、`video`、または `text`（[`watermark-media-type`](https://adcontextprotocol.org/schemas/v3/enums/watermark-media-type.json) を参照）                                      |
| `provider`     | Yes | ウォーターマークを適用した組織（表示ラベルであり、ワイヤー識別子ではない）                                                                                                                                           |
| `verify_agent` | No  | `get_creative_features` を通じてこのウォーターマークを検出できる AdCP ガバナンスエージェント                                                                                                                   |
| `c2pa_action`  | No  | C2PA アクション分類: `c2pa.watermarked.bound` または `c2pa.watermarked.unbound`（[`c2pa-watermark-action`](https://adcontextprotocol.org/schemas/v3/enums/c2pa-watermark-action.json) を参照） |
| `embedded_at`  | No  | ウォーターマークが適用されたとき（ISO 8601）                                                                                                                                                      |

### `verify_agent` の形状

`verify_agent` は、このレイヤーがセラーがすでに受け入れているガバナンスエージェントによって検証できる、というバイヤーの*表明*です。セラーは記録上の検証者です: 呼び出すエージェントを `creative_policy.accepted_verifiers[]`（`get_products` が返す）に公開し、バイヤーの `verify_agent.agent_url` はそれらのエントリの一つと正規化された一致でなければなりません（MUST）。リスト外の URL は、いかなるアウトバウンド呼び出しの前に `PROVENANCE_VERIFIER_NOT_ACCEPTED` で拒否されます。

これはバイヤー提供の証拠であって、バイヤー主導のルーティングではありません。セラーは実際にどのエージェントを呼ぶかを選び、バイヤーが指名したのとは異なるオンリストのエージェントを代わりに使ってもよい。許可リスト外のバイヤー主張のエンドポイントは呼びません。

| フィールド        | 必須  | 説明                                                                                                                                               |
| ------------ | --- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `agent_url`  | Yes | バイヤーが使われたと表明するガバナンスエージェントの URL。`https://` を使わなければならない（MUST）。セラーの `creative_policy.accepted_verifiers[].agent_url` の値の一つと（正規化して）一致しなければならない（MUST） |
| `feature_id` | No  | バイヤーが使われたと表明する機能 ID。対応する `accepted_verifiers[]` エントリで宣言された `feature_id` と一致すべき（SHOULD）か、セラーに委ねるために省略する                                           |

バイヤーは、自己検証可能な埋め込み（例: セラーがすでに信頼する公開鍵を持つ C2PA テキストマニフェスト）については `verify_agent` を省略してもよい（MAY）——その場合、セラーは評価時に `accepted_verifiers` からエージェントを選択します。

継承は親の `provenance` オブジェクトと同じルールに従います: 最も具体的なものが優先され、置換はオブジェクト全体で、フィールドレベルのマージはありません。

## クリエイティブポリシー執行

セラーは `creative-policy` でプロベナンス要件を表現します——すべてのプロダクトのフィールドで、`get_products` を通じて表面化されるため、バイヤーは提出前に要件を把握できます。

```json theme={null}
{
  "$schema": "/schemas/core/creative-policy.json",
  "co_branding": "optional",
  "landing_page": "any",
  "templates_available": false,
  "provenance_required": true,
  "provenance_requirements": {
    "require_digital_source_type": true,
    "require_disclosure_metadata": true,
    "require_embedded_provenance": true
  },
  "accepted_verifiers": [
    {
      "agent_url": "https://governance.encypher.seller.example",
      "feature_id": "encypher.markers_present_v2",
      "providers": ["Encypher"]
    },
    {
      "agent_url": "https://governance.imatag.seller.example",
      "feature_id": "imatag.watermark_detected",
      "providers": ["Imatag"]
    }
  ]
}
```

`provenance_required: true` は、クリエイティブが継承チェーンのどこかに*何らかの*プロベナンスオブジェクトを運ばなければならないことを意味します。`provenance_requirements` はそれをフィールドレベルの期待で洗練します。`accepted_verifiers[]` は、セラーが運用または許可リストに登録したガバナンスエージェントを公開します——セラーは記録上の検証者であり、バイヤーの `verify_agent` の参照はこれらの `agent_url` の値の一つと正規化された一致でなければなりません（MUST）。フィールドレベルの要件はセラーが強制し、JSON スキーマはそれらを検証しません。

要件を公開するセラーはそれを強制しなければなりません（MUST）。`sync_creatives` は準拠しない提出を次のいずれかで拒否します:

| エラーコード                                   | トリガー                                                                                                                                        |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `PROVENANCE_REQUIRED`                    | クリエイティブのどこにもプロベナンスオブジェクトがない                                                                                                                 |
| `PROVENANCE_DIGITAL_SOURCE_TYPE_MISSING` | 解決されたプロベナンスに `digital_source_type` がない                                                                                                      |
| `PROVENANCE_DISCLOSURE_MISSING`          | 解決されたプロベナンスに `disclosure.required` がない、または true だが管轄区域がない                                                                                   |
| `PROVENANCE_EMBEDDED_MISSING`            | 解決されたプロベナンスに `embedded_provenance[]` エントリがない                                                                                                |
| `PROVENANCE_VERIFIER_NOT_ACCEPTED`       | `verify_agent.agent_url` がセラーの `accepted_verifiers` リストにない（いかなるアウトバウンド呼び出しの前にクロスチェック）                                                       |
| `PROVENANCE_CLAIM_CONTRADICTED`          | 検証者（`accepted_verifiers` から呼ばれた）がバイヤーの主張を積極的に反証する——例: バイヤーが `digital_source_type: digital_capture` を主張するが、AI 検出機能が `ai_generated: true` を返す |

`error.field` は、検査された解決済みのプロベナンスのパスを指さなければなりません（MUST）。`PROVENANCE_CLAIM_CONTRADICTED` の `error.details` は、監査上安全な許可リスト `{ agent_url, feature_id, claimed_value, observed_value, confidence }` に加えて、セラーがバイヤーの指名したのとは別のオンリストエージェントを呼んだ場合の `substituted_for` に限定されます——セラーは任意の検証者拡張フィールド、`detail_url`、またはテナントをまたぐデータや PII を運ぶ可能性のある検証者レスポンス形状を転送してはなりません（MUST NOT）。

これらのコードは訂正可能です: バイヤーのオーケストレーターがそれらを読み、クリエイティブを修正し、再提出します。訂正なしの自動リトライは通りません。

## プロベナンスが付与される場所

| スキーマ                                        | フィールド        | 説明                       |
| ------------------------------------------- | ------------ | ------------------------ |
| `creative-asset`                            | `provenance` | ライブラリのクリエイティブのデフォルト      |
| `creative-manifest`                         | `provenance` | このマニフェスト内のすべてのアセットのデフォルト |
| `image-asset`                               | `provenance` | 特定の画像のオーバーライド            |
| `video-asset`                               | `provenance` | 特定のビデオのオーバーライド           |
| `audio-asset`                               | `provenance` | 特定のオーディオファイルのオーバーライド     |
| `text-asset`                                | `provenance` | 特定のテキストコンテンツのオーバーライド     |
| `html-asset`                                | `provenance` | HTML コンテンツのオーバーライド       |
| `css-asset`                                 | `provenance` | CSS コンテンツのオーバーライド        |
| `javascript-asset`                          | `provenance` | JavaScript コンテンツのオーバーライド |
| `vast-asset`                                | `provenance` | VAST タグのオーバーライド          |
| `daast-asset`                               | `provenance` | DAAST タグのオーバーライド         |
| `url-asset`                                 | `provenance` | URL アセットのオーバーライド         |
| `artifact`                                  | `provenance` | コンテンツアーティファクトのデフォルト      |
| `artifact.assets[]`（text、image、video、audio） | `provenance` | 特定のインラインアセットのオーバーライド     |

## スキーマリファレンス

| スキーマ                              | 場所                                                                                                                                 |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| プロベナンスオブジェクト                      | [`/schemas/core/provenance.json`](https://adcontextprotocol.org/schemas/v3/core/provenance.json)                                   |
| クリエイティブポリシー                       | [`/schemas/core/creative-policy.json`](https://adcontextprotocol.org/schemas/v3/core/creative-policy.json)                         |
| デジタルソースタイプ列挙型                     | [`/schemas/enums/digital-source-type.json`](https://adcontextprotocol.org/schemas/v3/enums/digital-source-type.json)               |
| 埋め込みプロベナンスメソッド列挙型                 | [`/schemas/enums/embedded-provenance-method.json`](https://adcontextprotocol.org/schemas/v3/enums/embedded-provenance-method.json) |
| ウォーターマークメディアタイプ列挙型                | [`/schemas/enums/watermark-media-type.json`](https://adcontextprotocol.org/schemas/v3/enums/watermark-media-type.json)             |
| C2PA ウォーターマークアクション列挙型             | [`/schemas/enums/c2pa-watermark-action.json`](https://adcontextprotocol.org/schemas/v3/enums/c2pa-watermark-action.json)           |
| エラーコード列挙型（プロベナンスコード）              | [`/schemas/enums/error-code.json`](https://adcontextprotocol.org/schemas/v3/enums/error-code.json)                                 |
| クリエイティブアセット（プロベナンス付き）             | [`/schemas/core/creative-asset.json`](https://adcontextprotocol.org/schemas/v3/core/creative-asset.json)                           |
| クリエイティブマニフェスト（プロベナンス付き）           | [`/schemas/core/creative-manifest.json`](https://adcontextprotocol.org/schemas/v3/core/creative-manifest.json)                     |
| クリエイティブポリシー（provenance\_required） | [`/schemas/core/creative-policy.json`](https://adcontextprotocol.org/schemas/v3/core/creative-policy.json)                         |
| アーティファクト（プロベナンス付き）                | [`/schemas/content-standards/artifact.json`](https://adcontextprotocol.org/schemas/v3/content-standards/artifact.json)             |

## 関連ドキュメント

* [プロベナンス検証](/docs/governance/creative/provenance-verification) — ガバナンスインフラが AI プロベナンス主張を検証する方法
* [クリエイティブガバナンス](/docs/governance/creative/index) — `get_creative_features` を通じた機能ベースのクリエイティブ評価
* [コンテンツ標準](/docs/governance/content-standards/index) — パブリッシャーコンテンツのプライバシー保護ブランド適合性
* [生成クリエイティブ](/docs/creative/generative-creative) — `build_creative` による AI 駆動のクリエイティブ生成
