The Platform PM

Key concepts

Field Guide

Agent identity and delegated access: how AI agents act for people

04

Key concepts

8 min read · Chapter 4 of 10

01

Entity and identity

What is the unit of record, and how do we know it is the same one?

Three identities sit behind every agent request: the software (which agent), the person it acts for, and the operator (the company that runs it). They're easy to collapse into one record and expensive to separate later.

The vendors model the agent differently. Microsoft's Entra creates each agent identity from a blueprint (a template that holds credentials and mints tokens for many agents), adds an optional user account for systems that need a mailbox, and assigns a human sponsor who answers for it. Google ties each agent's SPIFFE ID to the resource that hosts it, so redeploying creates a new identity and old grants don't carry over. On the open web the identity is the operator's signing key, and the individual agent is invisible.

In the incidents, the identity that mattered was often the integration: Drift's Salesforce app, Klue's integration, Context.ai's Google OAuth client. Salesforce and Google contained those cases by blocking the app.

Nobody has a reliable count of agent identities: vendor ratios of machine identities to people range from 17 to 109 per person, which mostly shows their definitions differ.

More on Entity and identity →

02

State and lifecycle

What states exist, and what moves an entity between them?

An agent goes registered, given an owner, credentialed, active, restricted, disabled and deleted. The state most systems lack is orphaned, an agent whose owner has left, which is why Entra now moves sponsorship automatically. A web agent goes submitted to a gatekeeper's registry, accepted or rejected, verified, and sometimes delisted.

Timers define behaviour: Google's agent certificates last 24 hours, Visa accepts an agent's signature for 8 minutes, and NIST wants access tokens to last an hour or less.

Failures cluster in a few places. Tokens outlive their purpose: Klue's breach began with a credential made for an abandoned prototype and never switched off, and GitGuardian, which sells secret scanning, found 64% of the valid secrets it detected in 2022 still active four years later. Approvals decay into "always allow". And revocation is coarse, so whole integrations get switched off because nobody can pick out the bad tokens.

More on State and lifecycle →

03

System of record and ledger

Who owns the truth, and how do systems reconcile?

No one record says "Maya asked this agent to do this, here, with this approval". The pieces live apart:

FactWhere it lives
Which agents exist and who owns themThe identity provider's registry (Entra, Okta, Google's Agent Registry)
Which third-party tokens an agent holdsA token vault (Auth0, AgentCore, Google's auth manager, Anthropic's Managed Agents)
Whether a web agent is verifiedThe gatekeeper's bot registry
Whether an agent may payThe card network's directory
Whether a call was allowed, and what it didThe API or MCP server's own log

The standard field for the agent is the act claim in token exchange, and the MCP spec doesn't mention it. Google and Entra each log the agent with its user or sponsor, in their own formats, and token passthrough makes downstream logs show the wrong caller. Gaps can go unannounced: Microsoft 365 Copilot didn't log which files it summarized until about August 2025, according to press reports.

NIST's concept paper asks how to bind each agent action back to a human's authorization. Until someone answers, I'd record for each action: agent ID, person ID, operator, token ID and audience, scope used, tool, a hash of the arguments, the outcome and any approval. For payments only, Google's AP2 mandates and Mastercard's Verifiable Intent come closest to a shared ledger.

More on System of record and ledger →

04

Rules and policy

What logic decides outcomes, and who can change it?

The rules sit in four places:

  • The company's identity provider: Entra ships Conditional Access templates for agents (block high-risk agents; separate rules for agents acting for someone and autonomous ones), Okta applies policy at the Cross App Access exchange, and Google uses org policies and IAM rules.
  • The API or MCP server: OAuth scopes are plain strings and coarse. Rich Authorization Requests can describe a single action, and Auth0 uses them with CIBA, but I found no MCP proposal that does. MCP's tool annotations mark tools as read-only or destructive, as hints only, so the real check is the server's own permission rules.
  • The agent's maker: Anthropic's browser agent has site permissions and asks before purchases, publishing or sharing personal data; OpenAI's agent asks before sending messages or payments; Supabase added read-only and project-scoped modes for its MCP server.
  • The website: robots.txt, Cloudflare's Content Signals, and per-crawler Allow, Charge or Block rules.

No binding rule says how narrow an agent's scope must be or that agent and user must be told apart in logs. After an incident, the yardsticks will be NIST IR 8587, the MCP spec's "must" rules, CISA's joint guidance and OWASP's 2026 list for agentic applications, which ranks identity and privilege abuse third.

More on Rules and policy →

05

Effective dating

Which version of the rule applied at that moment?

Dates I'd keep on a calendar as of October 2026:

ChangeEffectiveStatus (Oct 2026)
Agent identity products generally availableAWS AgentCore October 2025; Auth0 November 2025; Google April 2026; Microsoft Entra around May 2026; Okta for AI Agents April or May 2026, Agent SSO August 2026Live
Cloudflare folds signed agents into verified botsJuly 1, 2026Live
Microsoft requires Agent 365 or E7 for agent Conditional AccessJuly to August 2026Live
MCP specification deprecates dynamic client registrationJuly 28, 2026Live
EU AI Act transparency duties (Article 50)August 2, 2026Live
Web Bot Auth's working-group draftSeptember 1, 2026Draft
NIST IR 8587 on protecting tokensSeptember 2026Final
ID-JAG draft expires unless renewedNovember 22, 2026Upcoming
EU Product Liability Directive transposedDecember 9, 2026Upcoming
EU AI Act high-risk dutiesDecember 2, 2027Moved from 2026
PSD3 and the Payment Services Regulation applyAround 2028Provisional

When a vendor says "MCP support", ask which version: June 2025, November 2025 and July 2026 differ on how clients register, and dynamic registration can't be removed before July 2027 under the project's 12-month rule, by my reading.

More on Effective dating →

06

Interfaces and standards

What format and protocol do counterparties speak?

StandardWhat it does for agentsStatus (Oct 2026)
OAuth 2.1The base MCP builds onInternet-Draft 16 (September 2026); MCP still cites draft 13
Token exchange (RFC 8693)Acting for someone; the agent in the act claimStandard since 2020
Rich Authorization Requests (RFC 9396)Describing one action for consentStandard since 2023
CIBA Core 1.0Approval on the person's phoneOpenID Final, 2021
DPoP (RFC 9449), mutual-TLS tokens (RFC 8705)Binding a token to its holderStandards; DPoP in MCP is still a proposal
Protected Resource Metadata (RFC 9728)Pointing an agent to the authorization serverStandard since April 2025; MCP requires it
Client ID Metadata DocumentA client ID that describes the clientWorking-group draft 02 (July 2026)
ID-JAGThe assertion behind Cross App AccessWorking-group draft 04 (May 21, 2026)
HTTP Message Signatures (RFC 9421)The signature under Web Bot AuthStandard since 2024
Web Bot AuthAgents signing requestsWorking-group draft dated September 1, 2026
GNAP (RFC 9635)An alternative to OAuth grantsStandard since 2024; no agent product uses it that I found
MCP authorizationOAuth between agent apps and tool serversSpec version of July 28, 2026; optional

The underlying standards are old enough to rely on. Everything specific to agents is a draft, and a handful of people at Okta, Ping Identity, AWS, Cloudflare, Google, OpenAI and a small workload-identity startup write most of them. Drafts move: ID-JAG must be renewed by November 22, 2026, and Web Bot Auth is months behind its own charter. An individual draft that would have added an agent field to OAuth requests expired without being adopted, so there's still no standard way to say who really did something.

More on Interfaces and standards →

07

Networks and counterparties

Who sits between us and the outcome, and what do they want?

Agent identity runs on several networks at once. Identity providers and the SaaS apps that trust them decide enterprise access, and Cross App Access moves the consent decision from each app to the provider. Content delivery networks verify agents at the edge for millions of sites. Card networks act as identity directories for agents that pay: Visa publishes keys for agents in its protocol, and Mastercard lets only registered agents transact. The FIDO Alliance started a working group on agentic authentication in April 2026, when Google donated its AP2 payments protocol and Mastercard contributed Verifiable Intent.

The counterparty that shows up most in loss chains is the integration vendor holding other companies' tokens: Salesloft's Drift, Klue, Context.ai. Each was a small tool with standing access to much bigger systems.

More on Networks and counterparties →

08

Regulatory layering

Jurisdiction × activity × entity type: is it a license or a certification?

No law is written about agent identity. The layers that apply:

LayerExamplesWhat it means for an agent product
Security guidanceNIST IR 8587, NIST's NCCoE project, CISA's joint guidance, OWASPThe yardstick after an incident; voluntary outside US federal systems
Protocol specificationsThe MCP spec's "must" rulesQuoted as what "reasonable" means
AI lawEU AI Act Article 50Tell people when they're dealing with AI; the text never mentions agents
Product liabilityThe EU Product Liability Directive; a 2025 California lawSoftware defects become product claims in the EU; in California, "the AI acted on its own" is no defence
PaymentsReg E and Reg Z, PSD2 and PSD3, the UK's 2017 payment regulationsRefund rights for unauthorized payments, written before agents
Identity walletseIDAS 2.0Nothing on agents acting for a wallet holder
Contracts and insuranceVendor terms, policy exclusions, questionnairesWhere loss actually gets allocated

For a B2B product, the contract and the customer's security questionnaire bite before any law.

More on Regulatory layering →

09

Exceptions and reversals

What goes wrong, and how is it undone?

ExceptionThe way backWho starts it
An agent is hijacked mid-taskRevoke its tokens and identity; review what it didDetection, often an outside researcher
An integration vendor is breachedRevoke every token it held; every customer reconnectsThe platform (Salesforce, Google)
An agent deletes or damages somethingRestore from backups the agent couldn't reachThe user
An agent buys the wrong thingA non-fraud dispute, if the card issuer takes itThe user
An agent's owner leavesMove sponsorship or disable the agentThe directory or HR feed

Revocation is the only remedy that works everywhere, and it comes in bulk: every Drift token, every Asana MCP connection after a June 2025 bug, Klue's whole integration. Undo is often possible but not obvious: when Replit's agent deleted a customer's production database in July 2025, it told the user rollback was impossible, and Replit's CEO later said a one-click restore existed. Payment reversals were designed for payments nobody authorized, which an agent's purchase may not be.

More on Exceptions and reversals →

10

Liability allocation

When it fails, who pays?

FailureWho absorbs it firstHow
A hijacked agent misuses a user's accessThe user or their employerThe agent makers' terms make the user responsible for the agent's actions
An integration vendor's token store is stolenThat vendor's customers, in forensics and rotationLawsuits aimed at the platform; the vendor's cap limits the rest
An agent with write access destroys dataThe customerTerms exclude lost data; refunds are goodwill
An agent buys the wrong thingThe consumer or the merchantProbably counts as authorized; no network rule yet
A spoofed agent scrapes a siteThe site ownerBot-defence costs

In every case I found, the money stayed where the contract put it, on the user. Vendors paid in engineering and reputation: Replit separated development and production databases, and GitHub said it would shorten token lifetimes for package publishing.

More on Liability allocation →