brand.json はアドバタイザーだけのものではありません。売り手側では、AdCP セールスパスを運用する組織の公開企業レコードです: 名前、ロゴ、ドメイン、セールスエージェント、署名鍵ディスカバリー。adagents.json はパブリッシャーの認可レコードです: どのプロパティが存在しどのエージェントがそれらを販売できるか。
バイヤーエージェントは両方のビューを必要とします。brand.json は「このセラーまたはプラットフォームは誰で、何を主張しているか?」に答えます。adagents.json は「パブリッシャーはこのエージェントにこの在庫を販売する認可を与えているか?」に答えます。
要件境界
実践的なルールは:- AdCP エージェントを運用する場合、そのエージェントはオペレーターアイデンティティと署名鍵ディスカバリーを必要とします。運用組織の
brand.jsonエントリーを公開し、エージェントをagents[]にリストし、agents[].jwks_uriまたはデフォルト/.well-known/jwks.jsonを通じて公開鍵を露出します。 - 在庫を公開する場合、パブリッシャー認可レコードが必要です。バイヤーがどのエージェントがどのプロパティを販売できるか検証できるよう、パブリッシャードメインで
adagents.jsonを公開します。 - 在庫を公開しかつセールスエージェントを運用する両方の場合、同じ組織/ドメインで両方を行います。
- 販売を別のオペレーターに委譲する場合、あなたの
adagents.jsonが認可のヒンジです。パブリッシャーアイデンティティ、ポートフォリオコンテキスト、ガバナンスのため自身のbrand.jsonは依然として推奨されますが、委譲されたオペレーターのbrand.jsonがバイヤーがインタラクトするセールスエージェントアイデンティティを運びます。
誰が何を公開するか
パブリッシャーと販売オペレーターが同じ会社の場合、両ファイルは同じドメインに存在できます。サードパーティプラットフォームがパブリッシャーのため販売する場合、オペレーターの
brand.json はオペレータードメインに、パブリッシャーの adagents.json はパブリッシャードメインに存在します。
検証の仕組み
売り手側チェーンは双方向です:- セラーの
brand.jsonがagents[]でセールスエージェントを宣言。 - セラーの
brand.jsonがproperties[]で所有、直接販売、管理、または代表するプロパティを宣言。 - パブリッシャーの
adagents.jsonがauthorized_agents[]で同じセールスエージェントを宣言。 - 委譲またはネットワークパスには、
brand.jsonのrelationship値がパブリッシャーのadagents.jsonのdelegation_typeに一致。ファーストパーティ在庫には、relationship: "owned"はインライン所有権でdelegation_typeカウンターパートを持たない。 - エージェントが使う署名鍵はセラーの
brand.jsonagents[].jwks_uriから発見可能。変更するセラー認可には、パブリッシャーもadagents.jsonauthorized_agents[].signing_keys[]で許可された鍵をピン留め。
直接パブリッシャー例
自身のセールスエージェントを持つパブリッシャーはhttps://streamhaus.example/.well-known/brand.json で brand.json を公開します:
https://streamhaus.example/.well-known/adagents.json で adagents.json を公開します:
brand.json の agents[].url が adagents.json の authorized_agents[].url に一致すること、StreamHaus が主張するプロパティを所有すること、署名付き変更レスポンスが signing_keys[] で StreamHaus がピン留めした鍵を使うことを検証します。
委譲セラー例
ネットワークが別のパブリッシャーの在庫を販売するとき、ネットワークは自身のbrand.json を公開します:
https://streamhaus.example/.well-known/adagents.json で関係を確認します:
brand.json だけでは認可ではありません。任意のオペレーターがプロパティを主張できます。パブリッシャーの一致する adagents.json エントリーが、主張を認可されたサプライパスに変えるものです。
マルチテナントセールスエージェント
多くのパブリッシャーテナントのため 1 つのセールスエージェントデプロイをホストするオペレーターは、すべてのエントリーがtype: "sales" でも、テナントまたはプロパティスコープエンドポイントごとに 1 つの agents[] エントリーを公開してもよい(MAY)。各エントリーは type ではなく具体的な url で選択されるので、パスルーテッドデプロイはテナントごとの JWKS シャードを公開できます。テナントまたはプロパティスコープは、/mcp/{tenant} のような認証される具体的なエージェント URL によって運ばれます。署名付きリクエストボディ内のテナント識別子から選択されません。エージェント URL は agents[] 配列内で一意でなければなりません(MUST)。
brand.json agents[].url エントリーに一致、そのエントリーの jwks_uri またはエージェント URL のオリジンのデフォルト /.well-known/jwks.json を使い、次に keyid を解決。重複する一致エントリーを曖昧として拒否しなければならず(MUST)、エージェント type だけで JWKS を選んではならず(MUST NOT)、どの鍵セットを信頼するか決めるためリクエストペイロード内で供給されたテナント識別子に依存してはなりません(MUST NOT)。
セットアップチェックリスト
- AdCP セールスエージェントを運用する各組織の
brand.jsonをhttps://{seller-domain}/.well-known/brand.jsonで公開。 - 組織が運用する各 AdCP セールスエンドポイントのため
agents[]にsalesエントリーを追加。 - エンドポイントの JWKS を
agents[].jwks_uriを通じて公開、またはエージェントオリジンのデフォルト/.well-known/jwks.jsonに依存。 - 所有、直接、委譲、またはネットワーク代表のすべてのプロパティを正しい
relationshipでproperties[]に追加。ファーストパーティ在庫にはownedを使う。 - 在庫を所有する各パブリッシャードメインで
adagents.jsonを公開。 authorized_agents[]に、セラーのエージェント URL、認可スコープ、委譲またはネットワークパスの一致するdelegation_type、任意の変更セラー認可のsigning_keys[]をリスト。- 販売関係、エンドポイント、署名鍵が開始、変更、終了するとき両ファイルを揃えたまま保つ。
次に行く場所
- brand.json リファレンス —
agents[]、properties[]、プロパティ関係のフィールドレベル詳細 - adagents.json リファレンス — パブリッシャー側認可と
delegation_type - セラー検証 — 完全な検証チェーンのバイヤー側ウォークスルー
- セラー統合ガイド — 完全な AdCP セールスエージェント実装パス