- Trust: the agent signs every request, so the Brand knows which agent is calling.
- Consent: the User logs in with the Brand and approves specific actions. The agent never sees their password.
Terms
A personal agent registers with each Provider once, then can talk to every Brand that
Provider hosts.
How it works
audience string.
- Discovery. The personal agent fetches the Brand’s Agent Card, which says
where to send messages and, if the Brand offers delegation, which scopes it
defines (e.g.,
orders:read,orders:cancel). The Provider hosts it, e.g.https://provider.example.com/a2a/{brandId}/.well-known/agent-card.json. The personal agent finds that URL through:- Well-known URL (the standard): the Brand’s own domain serves the card or
redirects to it, e.g.
https://brand.example.com/.well-known/agent-card.json. - Link or registry: a link from the Brand, or a public registry of Agent Cards, points to the card’s URL on the Provider.
- Well-known URL (the standard): the Brand’s own domain serves the card or
redirects to it, e.g.
- Signed request. The personal agent sends the User’s message with a
short-lived JWT it signed itself; the JWT carries a stable, anonymous id for
the User. The Provider checks the signature against the personal agent’s
JWKS, and the Brand’s agent answers with a
contextIdthat the personal agent sends with later messages to continue the conversation. - Consent without credentials (optional, if the Brand offers it). The User signs in on the Brand’s own login page, never with the agent, then approves each scope individually.
- Scoped, short-lived token. The personal agent receives a delegation token naming the User, the agent, the Brand, and the granted scopes.
- Act for the User. The personal agent sends the token with its JWT, and the Brand’s agent acts on the User’s account within the granted scopes.
Start here
- Building a personal agent → Build a personal agent integration
- Building a Provider → Build a Provider
- The rules → Specification (the only normative document)
- Try it → Run the reference stack