> ## 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.

# ポリシーコンプライアンス

AdCP には広告業務全体でブランドセーフティと規制遵守を確保するための包括的なポリシーコンプライアンス機能が含まれます。本ドキュメントでは、メディアバイのライフサイクルを通じてポリシーチェックをどのように実装・適用すべきかを説明します。

## 概要

AdCP におけるポリシーコンプライアンスの中心は必須の広告主ブランド記述である `brand_manifest` です。これによりパブリッシャーは次を行えます:

* 在庫を提示する前に不適切な広告主をフィルタリング
* カテゴリー固有の制限を適用
* ブランドセーフティ基準を維持
* 規制要件に準拠

## Brand Manifest

すべてのプロダクト探索およびメディアバイ作成リクエストには、広告主ブランドを記述する `brand_manifest` を含める必要があります:

```json theme={null}
{
  "name": "Nike",
  "url": "https://nike.com",
  "category": "athletic_apparel"
}
```

マニフェストが提供する内容:

* **name**: リクエストを送る広告主/ブランド
* **url**: 確認用のブランド公式サイト
* **category** (任意): ポリシーフィルタリング用の業種カテゴリ

何をプロモーションするかを示す `brief` フィールドと組み合わせることで、パブリッシャーはポリシー判断に必要な完全なコンテキストを得られます。

ブリーフとブランド情報の詳細なガイドは [Brief Expectations](/docs/media-buy/product-discovery/brief-expectations) を参照してください。

## ポリシーチェックの実装

パブリッシャーはワークフローの 2 つの重要なポイントでポリシーチェックを実装する必要があります:

### 1. プロダクト探索中 (`get_products`)

`get_products` リクエストを受け取ったら、パブリッシャーは次を行います:

1. `brand_manifest` が存在し有効であることを検証します
2. ブランドとカテゴリ情報を抽出します
3. パブリッシャーポリシーに照らして確認します
4. 不適切なプロダクトを除外します

**ポリシーチェックフローの例:**

```python theme={null}
def check_brand_policy(brand_manifest: dict) -> PolicyResult:
    # Extract brand information
    brand_name = brand_manifest.get("name")
    brand_url = brand_manifest.get("url")
    category = brand_manifest.get("category")

    # Verify brand identity if needed
    if not verify_brand_domain(brand_name, brand_url):
        return PolicyResult(
            status="blocked",
            message="Brand verification failed"
        )

    # Check blocked categories
    if category in BLOCKED_CATEGORIES:
        return PolicyResult(
            status="blocked",
            message=f"{category} advertising is not permitted on this publisher"
        )

    # Check restricted categories
    if category in RESTRICTED_CATEGORIES:
        return PolicyResult(
            status="restricted",
            message=f"{category} advertising requires manual approval",
            contact="sales@publisher.com"
        )

    return PolicyResult(status="allowed", category=category)
```

### 2. メディアバイ作成時 (`create_media_buy`)

メディアバイを作成する際は次を行います:

1. `brand_manifest` をパブリッシャーポリシーに照らして検証します
2. キャンペーンブリーフとの整合性を確認します
3. 必要に応じて手動レビューフラグを付ける
4. 違反時に適切なエラーを返す

## ポリシーコンプライアンスのレスポンス

プロトコルは 3 つのコンプライアンスステータスを定義しています:

### `allowed`

ブランドは初期ポリシーチェックを通過し、プロダクトが通常通り返されます。

```json theme={null}
{
  "products": [...],
  "policy_compliance": {
    "status": "allowed"
  }
}
```

### `restricted`

ブランドカテゴリはプロダクトを表示する前に手動承認が必要です。

```json theme={null}
{
  "products": [],
  "policy_compliance": {
    "status": "restricted",
    "message": "Cryptocurrency advertising is restricted but may be approved on a case-by-case basis.",
    "contact": "sales@publisher.com"
  }
}
```

### `blocked`

ブランドカテゴリがこのパブリッシャーではサポートできません。

```json theme={null}
{
  "products": [],
  "policy_compliance": {
    "status": "blocked",
    "message": "Publisher policy prohibits alcohol advertising without age verification capabilities."
  }
}
```

## クリエイティブ検証

アップロードされたすべてのクリエイティブは、宣言された `brand_manifest` に照らして検証する必要があります:

1. **自動分析**: クリエイティブ認識を用いてブランド一貫性を確認
2. **人によるレビュー**: センシティブなカテゴリに対する手動確認
3. **継続的モニタリング**: キャンペーン配信中の継続的なチェック

これにより次を保証します:

* クリエイティブ内容が宣言されたブランドと一致します
* 誤解を招く広告や欺瞞的な広告がない
* すべての関係者にとってのブランドセーフティ

## 一般的なポリシーカテゴリ

パブリッシャーは通常、次のカテゴリに制限を設けます:

### ブロック対象カテゴリ

* 違法な製品やサービス
* 禁止コンテンツ（地域によって異なります）
* 特別なライセンスを要するカテゴリ

### 制限対象カテゴリ（手動承認）

* アルコール（年齢制限が必要な場合あり）
* ギャンブル/ゲーム
* 暗号資産/金融サービス
* 政治広告
* ヘルスケア/医薬品
* 出会い系サービス

### 特別要件

* 政治広告は開示が必要な場合があります
* ヘルスケアは免責事項が必要な場合があります
* 金融サービスはコンプライアンスレビューが必要

## 実装ベストプラクティス

1. **明確なコミュニケーション**: 制限の具体的な理由を示します
2. **連絡先情報**: 制限カテゴリに対する営業連絡先を含めます
3. **一貫した適用**: すべての広告主に対しポリシーを均等に適用します
4. **ドキュメンテーション**: 広告主向けに明確なポリシー文書を維持します
5. **異議申立手続き**: 広告主がポリシー例外を要求できるようにします

## エラーハンドリング

メディアバイ作成時のポリシー違反例:

```json theme={null}
{
  "error": {
    "code": "POLICY_VIOLATION",
    "message": "Brand category not permitted on this publisher",
    "field": "brand_manifest",
    "suggestion": "Contact publisher for category approval process"
  }
}
```

## HITL との統合

ポリシー判断は Human-in-the-Loop ワークフローをトリガーできます:

1. 制限カテゴリは `pending_manual` タスクを生成します
2. 人によるレビュワーがキャンペーンを評価します
3. 承認または却下が返信されます
4. その決定に基づきキャンペーンを進行または終了します

## 関連ドキュメント

* [`get_products`](/docs/media-buy/task-reference/get_products) - ポリシーチェック付きのプロダクト探索
* [`create_media_buy`](/docs/media-buy/task-reference/create_media_buy) - バリデーションを含むメディアバイ作成
* [Principals & Security](/docs/media-buy/advanced-topics/accounts-and-security) - 認証と認可
