Agent identity and delegated access: how AI agents act for people
03
How to choose
2 min read · Chapter 3 of 10
How should your product let agents in? Five questions
- Whose authority? If the agent acts for a person, use delegated OAuth so the token's subject is that person and the agent is named beside them. If it runs on its own, give it a workload identity of its own. Shared service accounts and personal keys answer neither, yet 21% of executives in Okta's survey said their agents run on them.
- Who approves? Consumers and small teams approve on a consent screen. Enterprise customers want their identity provider to decide, through Cross App Access or MCP's enterprise path, with no screen per server and one place to revoke.
- What's the worst call? If a call moves money, changes bank details, deletes data or sends messages, give it its own scope, a separate write identity and an approval at the moment of the action. Reads can run on a standing grant.
- How long does it run? A task of a few minutes needs no refresh token. An overnight job needs a workload identity and short tokens renewed often, which costs real money on a per-token meter (see How the money moves).
- Who will ask later? If an auditor or your support team will need to know months from now whether the person or the agent acted, log both on every call now, because you can't add the agent to old records.
My defaults: OAuth with PKCE for every agent acting for a person, with the agent recorded beside the person. A remote MCP server that follows the July 2026 spec, with no token passthrough. Access tokens of an hour or less bound to one server, and refresh tokens only when the task needs them. Scopes split into read, write and irreversible, with step-up instead of asking for everything up front, and a CIBA-style approval on the few irreversible actions and nowhere else. Cross App Access as soon as an enterprise customer asks, kept alongside plain OAuth. One identity per agent with a named human owner and one-click revocation, and DPoP once my identity vendor supports it. On my public website, Web Bot Auth verification plus IP checks, with rules by category instead of by user agent.