AdCP 3.0 Proposal - This protocol is under development for AdCP 3.0. Feedback welcome via GitHub Discussions.
Overview
Property Governance addresses five distinct concerns:| Concern | Question | Owner | Mechanism |
|---|---|---|---|
| Property Identity | What properties exist? | Publishers | adagents.json properties array |
| Sales Authorization | Who can sell this property? | Publishers | adagents.json authorized_agents |
| Property Data | What do we know about this property? | Data providers | Governance agents via get_adcp_capabilities |
| Property Selection | Which properties meet my requirements? | Buyers | Property lists with filters |
Publisher Side: adagents.json
Publishers declare their properties, authorize sales agents, and reference governance agents via/.well-known/adagents.json:
Governance Agent Discovery via property_features
Theproperty_features array solves a key discovery problem: how does a buyer know which governance agents have data about a given property?
Without property_features, buyers would need to query every possible governance agent to find out who has compliance, sustainability, or quality data. With property_features, publishers declare these relationships upfront:
| Field | Purpose |
|---|---|
url | Governance agent’s API endpoint |
name | Human-readable agent name |
features | Feature IDs this agent provides (e.g., carbon_score, mfa_score) |
publisher_id | Optional identifier for looking up this publisher at the agent |
- Sustainability: Publisher declares a carbon measurement vendor tracks their emissions
- Quality: Publisher declares a verification vendor measures MFA score and ad density
- Consumer experience: Publisher declares a vendor that tracks page speed and ad load
property_features from adagents.json, then query only the relevant governance agents for detailed data.
See the adagents.json Tech Spec for complete documentation including examples and the discovery workflow.
Buyer Side: Property Data and Selection
Property Data Providers
Governance agents provide data about properties - compliance scores, brand suitability ratings, sustainability metrics, consumer experience scores, etc. They advertise their capabilities viaget_adcp_capabilities in the governance.property_features section:
- 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)
Property Selection via Governance Agents
Buyers create property lists on governance agents - the agents manage these lists and apply their filtering logic:How It Fits Together
The Complete Flow
- Publisher declares properties, sales agents, AND governance agents in
adagents.json - Buyer discovers governance agents by reading
property_featuresfrom adagents.json - Buyer queries each governance agent’s
get_adcp_capabilitiesfor detailed capabilities - Buyer creates property lists on each governance agent with filters and brand manifests
- Governance agents evaluate properties and notify buyer via webhooks when lists change
- Buyer aggregates results into a final compliant list
- Buyer shares property list reference with sellers (with auth token)
- Seller caches resolved list for bid-time decisions
Sharing Property Lists with Sellers
Once a buyer has a compliant property list, they share it with sellers:- Get a list reference: The buyer agent exposes the list via
get_property_list - Issue an auth token: The buyer generates a token that authorizes access to the list
- Pass to seller: Include
property_list_refwithauth_tokenin product discovery or media buy requests - Seller caches locally: Sellers fetch and cache the resolved list for bid-time decisions
- Webhooks for updates: When the list changes, sellers are notified to refresh their cache
get_products to filter available inventory:
Relationship to Other Protocols
Property Governance + Media Buy
The Media Buy Protocol consumes property lists at multiple stages:- Product discovery: Pass
property_list_reftoget_productsto 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: Discover governance capabilities including property features (protocol-level task)
Property List Management
- create_property_list: Create a new property list on a governance agent
- get_property_list: Retrieve resolved properties (with caching guidance)
- update_property_list: Modify filters or base properties
- delete_property_list: Remove a property list
Getting Started
Publishers:- Create
/.well-known/adagents.jsonwith property definitions - Authorize sales agents for your properties
- Declare governance agents in
property_features(sustainability vendors for carbon, quality vendors for MFA and ad load, suitability vendors for content classification, etc.)
- Discover governance agents by reading
property_featuresfrom publishers’ adagents.json files - Query each governance agent’s
get_adcp_capabilitiesfor capabilities - Create property lists on relevant governance agents with filters and brand manifests
- Aggregate results into a final compliant list
- Share property list references with sellers (with auth tokens)
- Implement
get_adcp_capabilitiesto advertise your capabilities ingovernance.property_features - Implement property list CRUD operations
- Support webhooks to notify buyers when evaluations change
- Work with publishers to get listed in their
property_features - See the Protocol Specification for implementation details