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

# Property Governance

> AdCP Property Governance はすべてのメディアチャネルにわたって広告プロパティの識別、認可、データ付与、選定を標準化します。

<Info>
  **AdCP 3.0 提案** - このプロトコルは AdCP 3.0 向けに開発中です。フィードバックは [GitHub Discussions](https://github.com/adcontextprotocol/adcp/discussions) へどうぞ。
</Info>

Property Governance は、広告プロパティ（Web サイト、アプリ、CTV、ポッドキャスト、屋外広告）の識別、認可、データ付与、キャンペーン選定を標準化します。

## 概要

Property Governance addresses five distinct concerns:

| Concern                 | Question          | Owner          | Mechanism                                                                       |
| ----------------------- | ----------------- | -------------- | ------------------------------------------------------------------------------- |
| **Property Identity**   | どのプロパティが存在するか     | Publishers     | `adagents.json` の properties 配列                                                 |
| **Sales Authorization** | 誰がこのプロパティを販売できるか  | Publishers     | `adagents.json` の authorized\_agents                                            |
| **Property Data**       | このプロパティについて何がわかるか | Data providers | [`get_adcp_capabilities`](/docs/protocol/get_adcp_capabilities) を通じたガバナンスエージェント |
| **Property Selection**  | 要件を満たすプロパティはどれか   | Buyers         | フィルター付きプロパティリスト                                                                 |

最初の 3 つは adagents.json を介した **パブリッシャー側の宣言** です。後ろの 2 つはガバナンスエージェントからのデータを使う **バイヤー側の処理** です。

## パブリッシャー側: adagents.json

Publishers declare their properties, authorize sales agents, and reference governance agents via `/.well-known/adagents.json`:

```json theme={null}
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/adagents.json",
  "properties": [
    {
      "property_id": "example_site",
      "property_type": "website",
      "name": "Example Site",
      "identifiers": [{"type": "domain", "value": "example.com"}]
    }
  ],
  "authorized_agents": [
    {
      "url": "https://agent.example.com",
      "authorized_for": "Official sales agent",
      "authorization_type": "property_ids",
      "property_ids": ["example_site"]
    }
  ],
  "property_features": [
    {
      "url": "https://api.sustainability-vendor.example",
      "name": "Sustainability Vendor",
      "features": ["carbon_score", "green_media_certified"]
    },
    {
      "url": "https://api.quality-vendor.example",
      "name": "Quality Vendor",
      "features": ["mfa_score", "ad_load_rating", "page_speed"]
    }
  ]
}
```

### property\_features によるガバナンスエージェント発見

`property_features` 配列は「特定プロパティのデータを持つガバナンスエージェントをバイヤーはどう知るか」という発見問題を解決します。

`property_features` がなければ、バイヤーはコンプライアンス・サステナビリティ・品質データを持つエージェントを総当たりで探す必要があります。`property_features` によってパブリッシャーが関係性を事前に宣言できます:

| Field          | Purpose                                         |
| -------------- | ----------------------------------------------- |
| `url`          | ガバナンスエージェントの API エンドポイント                        |
| `name`         | エージェント名（人が読める名前）                                |
| `features`     | 提供する Feature ID（例: `carbon_score`, `mfa_score`） |
| `publisher_id` | 任意。エージェント側でこのパブリッシャーを参照する ID                    |

**ユースケース例:**

* **Sustainability**: パブリッシャーがカーボン計測ベンダーによる排出計測を宣言
* **Quality**: パブリッシャーが MFA スコアと広告密度を計測する検証ベンダーを宣言
* **Consumer experience**: パブリッシャーがページ速度と広告負荷を追跡するベンダーを宣言

Buyers read `property_features` from adagents.json, then query only the relevant governance agents for detailed data.

例やディスカバリフローを含む詳細は [adagents.json Tech Spec](/docs/governance/property/adagents) を参照してください。

## バイヤー側: プロパティデータと選定

### プロパティデータプロバイダー

ガバナンスエージェントはプロパティに関するデータ（コンプライアンススコア、ブランドセーフティ評価、サステナビリティ指標、コンシューマーエクスペリエンススコアなど）を提供します。`governance.property_features` セクションで [`get_adcp_capabilities`](/docs/protocol/get_adcp_capabilities) を通じて機能を公開します:

```json theme={null}
{
  "governance": {
    "property_features": [
      { "feature_id": "mfa_score", "type": "quantitative", "range": { "min": 0, "max": 100 } },
      { "feature_id": "coppa_certified", "type": "binary" },
      { "feature_id": "carbon_score", "type": "quantitative", "range": { "min": 0, "max": 100 } }
    ]
  }
}
```

バイヤーはプロパティリストをエージェントに送り、エージェントは専門データに基づいてフィルタ・スコアリングします。エージェントごとに得意なデータが異なります:

* **Brand suitability providers** (content classification, risk scoring)
* **Quality measurement** (MFA score, ad density, fraud detection)
* **Sustainability providers** (carbon scoring, green media certification)
* **Consumer experience** (page speed, ad load, layout shift)

### ガバナンスエージェントによるプロパティ選定

バイヤーは**ガバナンスエージェント上でプロパティリストを作成**し、エージェントがそれを管理してフィルタリングロジックを適用します:

```json theme={null}
{
  "tool": "create_property_list",
  "arguments": {
    "name": "Q1 Campaign - UK Premium",
    "base_properties": [
      {
        "selection_type": "publisher_tags",
        "publisher_domain": "raptive.com",
        "tags": ["premium_news"]
      }
    ],
    "filters": {
      "countries_all": ["UK"],
      "channels_any": ["display", "video"],
      "feature_requirements": [
        { "feature_id": "mfa_score", "min_value": 70, "max_value": 100 }
      ]
    },
    "brand": {
      "domain": "toybrand.com"
    }
  }
}
```

ブランド参照を渡すと、ガバナンスエージェントはブランドのアイデンティティを解決し、COPPA や業界別コンテンツフィルタリングなど適切なルールを自動適用します。

バイヤーエージェントは通常、複数のガバナンスエージェント（同意、ブランドセーフティ、サステナビリティなど）を組み合わせ、結果を集約・交差させて最終的な準拠リストを作成します。

## 全体の流れ

```mermaid theme={null}
flowchart TB
    subgraph Publisher["PUBLISHER (adagents.json)"]
        P1["properties: identity"]
        P2["authorized_agents: sales auth"]
        P3["property_features: governance refs"]
    end

    subgraph Buyer["BUYER AGENT"]
        B1[Discovers governance agents from adagents.json]
        B2[Aggregates results from specialized agents]
        B3[Issues auth_tokens for sellers]
    end

    subgraph Governance["GOVERNANCE AGENTS"]
        SUS["Sustainability Agent<br/>carbon_score<br/>green_media<br/>climate_risk"]
        QA["Quality Agent<br/>mfa_score<br/>ad_load<br/>page_speed"]
        BS["Brand Suitability Agent<br/>content_category<br/>brand_risk<br/>sentiment"]
    end

    subgraph Seller["SELLER AGENT (DSP/SSP)"]
        SE1[Caches resolved property lists]
        SE2[Uses cached lists for bid-time decisions]
    end

    Publisher -->|property_features discovery| Buyer
    Buyer -->|create_property_list + webhooks| SUS
    Buyer -->|create_property_list + webhooks| QA
    Buyer -->|create_property_list + webhooks| BS

    Buyer -->|get_property_list with auth_token| Seller
```

### 完全なフロー

1. **Publisher declares** properties, sales agents, AND governance agents in `adagents.json`
2. **Buyer discovers** governance agents by reading `property_features` from adagents.json
3. **Buyer queries** each governance agent's `get_adcp_capabilities` for detailed capabilities
4. **Buyer creates** property lists on each governance agent with filters and brand references
5. **Governance agents evaluate** properties and notify buyer via webhooks when lists change
6. **Buyer aggregates** results into a final compliant list
7. **Buyer shares** property list reference with sellers (with auth token)
8. **Seller caches** resolved list for bid-time decisions

## セラーとのプロパティリスト共有

バイヤーが準拠リストを用意したら、セラーと共有します:

1. **Get a list reference**: The buyer agent exposes the list via `get_property_list`
2. **Issue an auth token**: The buyer generates a token that authorizes access to the list
3. **Pass to seller**: Include `property_list_ref` with `auth_token` in product discovery or media buy requests
4. **Seller caches locally**: Sellers fetch and cache the resolved list for bid-time decisions
5. **Webhooks for updates**: When the list changes, sellers are notified to refresh their cache

```json theme={null}
{
  "property_list_ref": {
    "agent_url": "https://buyer-agent.example.com",
    "list_id": "pl_q1_uk_premium",
    "auth_token": "eyJhbGciOiJIUzI1NiIs..."
  }
}
```

Sellers use this reference in `get_products` to filter available inventory:

```json theme={null}
{
  "tool": "get_products",
  "arguments": {
    "brief": "UK video inventory for Q1",
    "property_list_ref": {
      "agent_url": "https://buyer-agent.example.com",
      "list_id": "pl_q1_uk_premium",
      "auth_token": "..."
    }
  }
}
```

## Relationship to Other Protocols

### Property Governance + Media Buy

The Media Buy Protocol consumes property lists at multiple stages:

* **Product discovery**: Pass `property_list_ref` to `get_products` to filter inventory to compliant properties
* **Media buy creation**: Reference property lists to constrain where ads can run
* **Authorization**: adagents.json validates agent authority to sell

### Property Governance + Signals

Both protocols operate on properties but serve different purposes:

| Signals Protocol          | Property Governance              |
| ------------------------- | -------------------------------- |
| Audience/contextual data  | Property metadata and compliance |
| "Who should see this ad?" | "Where can this ad run?"         |
| Signal activation         | Property filtering               |

## Tasks

### Discovery

* **[`get_adcp_capabilities`](/docs/protocol/get_adcp_capabilities)**: Discover governance capabilities including property features (protocol-level task)

### Property List Management

* **[create\_property\_list](/docs/governance/property/tasks/property_lists#create_property_list)**: Create a new property list on a governance agent
* **[get\_property\_list](/docs/governance/property/tasks/property_lists#get_property_list)**: Retrieve resolved properties (with caching guidance)
* **[update\_property\_list](/docs/governance/property/tasks/property_lists#update_property_list)**: Modify filters or base properties
* **[delete\_property\_list](/docs/governance/property/tasks/property_lists#delete_property_list)**: Remove a property list

## Getting Started

**Publishers:**

1. Create `/.well-known/adagents.json` with property definitions
2. Authorize sales agents for your properties
3. Declare governance agents in `property_features` (sustainability vendors for carbon, quality vendors for MFA and ad load, suitability vendors for content classification, etc.)

**Buyers:**

1. Discover governance agents by reading `property_features` from publishers' adagents.json files
2. Query each governance agent's `get_adcp_capabilities` for capabilities
3. Create property lists on relevant governance agents with filters and brand references
4. Aggregate results into a final compliant list
5. Share property list references with sellers (with auth tokens)

**Governance Agent Implementers:**

1. Implement [`get_adcp_capabilities`](/docs/protocol/get_adcp_capabilities) to advertise your capabilities in `governance.property_features`
2. Implement property list CRUD operations
3. Support webhooks to notify buyers when evaluations change
4. Work with publishers to get listed in their `property_features`
5. See the [Protocol Specification](/docs/governance/property/specification) for implementation details

See the [Protocol Specification](/docs/governance/property/specification) for detailed implementation guidance.
