Delegated access and consent
When an agent acts for a person, name the person, the app and the agent in each token. Show the agent at consent, never widen rights, revoke per agent.
- Required 2
- Recommended 3
Required
Never give an agent more rights than it was handed
AGT-7When you issue or exchange a token for an agent, its scopes are a subset of the token it came from. Its expiry is no later, and its audience is no wider.
Let users revoke one agent without the others
AGT-9Show each person every agent grant on their account and let them revoke one. A revoked grant stops working within 5 minutes, and the other grants keep working.
Recommended
Name each party in its own token claim
AGT-6Every access token an agent uses for a person names three parties. The person goes in
sub, the client app inclient_idorazp, and the agent inact.Name the agent on the consent screen
AGT-8The consent screen names the agent as well as the app, lists each permission in plain words, and states when the grant ends.
Give agent grants short lives
AGT-10Agent access tokens last at most 5 minutes. A grant that no agent has used for 90 days ends by itself.
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/agents-as-users/delegated-access-and-consent">Agent Wranglers agents as users playbook</a>. In code you write, add a comment next to it with the same link.