(agent URL, role, AdCP version) and answers two
separate questions:
- What evidence did AgenticAdvertising.org observe? The badge’s
verification_modesanswer this question. - Which grading policy evaluated that evidence? The badge’s
grading_profileanswers this question.
spec can appear in both fields with different meanings.
Evidence modes
Evidence modes describe what was exercised or observed. They are not grading levels.
An active badge always has at least one evidence mode. A badge may show
(Spec), (Live), or (Spec + Live). sandbox is not a
verification_modes value.
Grading profiles
The grading profile is the policy used to decide whether the collected evidence supports the public badge.
Sandbox grading remains preview-only until causal bundle data is available and a
public, versioned exception catalog has shipped. Its presence in an owner
dashboard is not a promise that Sandbox grading will become selectable on a
particular date.
Evidence mode and grading profile are orthogonal. A badge can, for example,
show
(Spec) · Legacy grading or (Spec) · Strict Spec grading. The first
Spec says which evidence was collected; the second says which policy judged
it.Reading a badge
The visible SVG includes the role, AdCP version, evidence mode, and grading profile:
The profile suffix is part of the public meaning. Do not remove it from copied
alt text or replace it with the evidence qualifier.
Declare specialisms
specialisms routes evidence to role-specific badges. Omitting it does not stop
universal and protocol-baseline storyboards from running, but the verification
engine has no narrow specialism claim from which to issue a public badge.
Badge issuance also requires an active AgenticAdvertising.org membership at an
API-access tier.
Grading governance-aware sellers
The storyboards behindgovernance-aware-seller (and the governance_approved
storyboards for brand rights, signal marketplaces, and creative transformers)
need a second agent: the buyer’s governance agent. Hosted grading supplies the
public sandbox governance agent, https://test-agent.adcontextprotocol.org, and
routes those storyboards across your agent and it. Only your agent’s behavior
is graded: in hosted suite grading (the heartbeat and registry refresh), a
failure on a step the governance agent serves is recorded as a coverage gap,
not a failure of your agent.
To pass these storyboards, a seller configures three things in a sandbox
account.
1. Map your grading credential to the hosted-grader buyer. Hosted grading
calls your agent with the credential you registered with AgenticAdvertising.org
for grading. It authenticates to the sandbox governance agent as one fixed buyer
agent, which the governance agent binds into every intent token as caller. Map
your grading credential to that same buyer, as a pre-provisioned buyer identity
(see Buyer identity resolution):
Values are compared byte for byte, so don’t add a trailing slash. Pre-provision
this brand and operator pair in your sandbox account. Don’t check the operator
against the brand’s
authorized_operators: the hosted-grader brand.json is a
Brand Canonical Document, which carries no operator list, and
pinnacle-agency.example is a reserved test domain. The storyboards create the
account inline through sync_accounts,
and the hosted-grader test kit
declares the same account.
2. Accept the governance registration. Each run registers
https://test-agent.adcontextprotocol.org through
sync_governance, with a fresh
credential that starts with adcp-sandbox-gov.v1.. That credential is valid
for 30 minutes, for that run’s plans only, and authenticates exactly the agent
URL you registered for grading. On an execution-time
check_governance, call the
registered governance agent URL with that credential, and send your registered
agent URL as caller.
The token audience (aud) is also your registered agent URL. Checklist step 8
compares aud byte for byte with your own canonical URL, so register for
grading the exact URL your verifier treats as canonical. A path or trailing
slash difference fails with governance_token_not_applicable.
3. Verify against the buyer’s brand.json. Resolve the buyer brand from
the authenticated credential, never from the request:
https://hosted-grader.adcontextprotocol.org/.well-known/brand.jsonlists agovernanceagent whoseurlishttps://test-agent.adcontextprotocol.org. That URL is the tokeniss(checklist step 13).- That entry’s
jwks_uri,https://hosted-grader.adcontextprotocol.org/.well-known/jwks.json, serves governance-signing keys only, on an origin that publishes no request-signing keys. - The revocation list is at
https://test-agent.adcontextprotocol.org/.well-known/governance-revocations.json, signed with a key published at thatjwks_uri.
governance-aware-seller badge is issued from that run.
Selecting a grading profile
An organization owner or administrator can select Legacy or Strict Spec grading from the agent dashboard when a current comparison is available. Selection is deliberately narrow:- It changes one exact
(agent URL, role, AdCP version)only. - It uses a current immutable assessment from one source run.
- It does not contact or re-run the agent.
- A stale, incomplete, missing, or superseded assessment cannot be selected.
- Sandbox grading preview cannot be selected.
Roll back to Legacy grading
Legacy remains an owner-selectable production profile. An owner can revert one exact role and version from Strict Spec to Legacy when the dashboard offers a current Legacy assessment. Rollback uses the same authorization, freshness, revision, audit, and public-impact checks as selection in the other direction. It is not an agent-wide reset. The dashboard and registry are authoritative after a selection. If refreshed offline tokens are still being generated, the selection succeeds and the dashboard reports that token refresh is pending.Decentralized verification
Each active badge is backed by a signed JWT (EdDSA / Ed25519). AgenticAdvertising.org publishes its public keys at/.well-known/jwks.json.
sub,role, andadcp_versionidentify the exact badge.verification_modessays which evidence was observed.grading_profilesays whether Legacy or Strict Spec grading produced it.exp, signature, issuer, and audience establish token validity.
grading_profile.
Interpret a missing claim as legacy; never reinterpret an old token as Strict
Spec grading.
The registry API is authoritative for real-time status. A JWT is an offline,
cacheable proof that can remain valid for up to 30 days and cannot learn about a
later profile selection, degradation, revocation, membership lapse, or opt-out.
Applications that need current status must check the registry.
Lifecycle
Verification is continuously re-evaluated, not a one-time certificate.- Issued — qualifying evidence and all non-evidence eligibility checks pass.
- Active — the selected profile continues to pass on current evidence.
- Degraded — a qualifying regression starts the existing 48-hour grace period; the registry exposes the state and deadline.
- Revoked — the badge no longer qualifies after the applicable grace or an immediate-revocation event.
- Recovered — later passing evidence can restore or issue the badge.
Legacy grading sunset
Legacy is not automatically deprecated or relabeled by this rollout.- The working group will review Legacy no earlier than six months after owner-selectable grading launches.
- Legacy cannot retire earlier than 12 months after that launch.
- Any proposed retirement requires at least 90 days’ public notice.
- Existing Legacy selections and claim-less historical tokens are never automatically relabeled as Strict Spec.
- Retirement timing and migration behavior require a future working-group decision; there is no automatic retirement deadline today.
Per-version badges
Each badge is identified by(agent URL, role, AdCP version). An agent can hold
parallel badges across AdCP releases and can select a different grading profile
for each exact role/version pair. A 3.0 selection or regression does not change
the 3.1 badge.
The version is embedded in the visible label, for example:
Media Buy Agent 3.1 (Spec) · Strict Spec grading.
Display and embedding
Two SVG URL shapes are available:Not Verified SVG. To decide whether to render a badge at all,
query the exact versioned embed endpoint during server-side rendering or a
static-site build:
test=true integration=true
/api/registry/agents/{url-encoded-agent-url}/verification and match both role
and adcp_version in badges[]. Read verification_modes and
grading_profile independently.
What AAO Verified is not
- Not a Sandbox grading badge. Sandbox is diagnostic preview only until its data and catalog gates ship.
- Not a regulatory, security, or financial audit. Frameworks such as SOC 2, ISO 27001, and ISAE 3402 address different controls.
- Not an SLA. The mark does not guarantee uptime, latency, inventory, or commercial outcomes.
- Not a substitute for due diligence. Buyers should still assess contracts, billing, governance, security, and incident response.