AI agent identity

An AI agent identity is the account and credentials an agent acts with. The four properties no human identity has, and who the agent is acting for.

9 min read · Published September 7, 2026 · Last updated September 7, 2026

An AI agent identity is the identity an AI agent authenticates and acts with: an account or set of credentials, a scope of systems and actions, a named human owner, and a record of what it did and on whose behalf. It differs from every other identity in one way that matters: the agent decides at runtime which of its permissions to use.

An AI agent identity is what an agent acts with. In practice it is an account or a set of credentials, a scope that says which systems and actions are in reach, a named human owner, and a record of what the agent did and on whose behalf. Written down like that it sounds like every other non-human identity, and for the first three properties it is.

The fourth property has no precedent in a stack. A backup job does the same thing every night. An agent reads input it was handed, decides what to do, and picks which of its permissions to use to do it. That makes the scope of an agent's identity the control that matters, because everything else about its behaviour is decided after the grant.

                     human        service account        AI agent
                     -----        ---------------        --------
has a manager          yes              no                  no
in the HR system       yes              no                  no
acts on a schedule     no               yes                 no
decides at runtime     yes              no                  YES
acts for someone       itself           its job             a person, or another agent
credential             password+MFA     a long-lived secret  whatever it was handed

the delegation chain, which is the part that is new:

   Ana  --asks-->  agent A  --calls-->  agent B  --calls-->  the CRM
                      |                    |
              acts as Ana           acts as agent A acting as Ana

   the question at every hop: whose authority is this, and who approved it
An agent is the first identity that decides at runtime what to do with what it holds. Everything else in a stack acts the same way every day.

What does an agent identity have that other identities do not?

Four properties, and only the last is genuinely new.

It acts for someone

A human identity acts for itself, and a service account acts for the job it was created to run. An agent acts for a person, or for another agent that is acting for a person, and the record has to carry that. A commenter on a thread about an agent that published a hit piece asked the question the industry has not answered:

Hacker News comment by insane_dreamer

It does raise an interesting question whether AI Agents should be required to specify/identify their user. Otherwise, AI agents become a "anonymizer" for humans who want to act shitty on GH (or elsewhere) but want to pass it off as an AI agent

insane_dreamer·Hacker News

It decides at runtime

The permissions an agent holds and the permissions it uses on a given day are different sets, and nobody knows the second in advance. This is why a scope that is merely plausible is not enough: whatever is in reach will eventually be used, on input the owner did not write.

It chains

Agents call other agents, and authority passes along the chain, and by the third hop the scope granted at the first is usually unrecoverable. The practitioner answer is to bind authorization to the task rather than to the identity:

What seems more promising is accepting that the model will be tricked and constraining what it can do when that happens. Authorization at the tool boundary, scoped to the task and delegation chain rather than the agent's identity. If a child agent gets compromised, it still can't exceed the authority that was delegated to it.

niyikiza·Hacker News

It arrives without a purchase

A service account is created by IT or an engineer solving an operational problem. An agent is created by whoever is curious, in a tool they already have, using a credential to hand. There is no request, no ticket and no inventory entry, which is why most companies cannot say how many they have.

How does it compare with the identities a company already has?

EmployeeService accountAI agent
Created byHR, through onboardingAn engineer, for a jobAnyone, in a tool they already use
Authenticates withPassword and MFAA long-lived secretWhatever it was handed, often a person's token
ActsWhile present, in a sessionOn a scheduleOn demand, deciding what to do
Acts forItselfIts jobA person, or another agent
Scope changesAt a role changeWhen the job changesNever, while what it does changes constantly
Leaves whenHR says soSomeone remembersNothing says so

Why the last two rows produce the incidents

The first four rows of that table explain why an agent feels new. The last two explain why agents cause incidents. An employee's scope changes at a role change and a service account's changes when its job changes, so both are corrected by an event someone can see. An agent's scope is set once and rarely revisited, while what the agent does with that scope changes every time its input changes. The leaver row is the same failure from the other side. An employee leaves when HR says so, a service account when somebody remembers, and an agent when nothing at all says so.

Iden treats an agent as an identity in the same table as the people: an owner, the applications it can reach, and a place in the access review. The Identities screen lists MCP tokens and agent accounts beside employees and service accounts, so the question of what an agent may reach has the same answer path as the question of what an employee may reach. The feature behind it is Service accounts, API keys and agents.

Iden's Identities screen: 433 identities tabbed as Human 321 and Non Human 112, with service accounts and an MCP token listed in the same table as employees, each showing team and the apps it can reach.

433 identities. 321 human, 112 not. cc_github and the MCP token sit in the same table as Amy Lee, with the same columns and the same offboarding states.

What does governing an agent identity require?

Five things, of which the first four are what every non-human identity already needs and the fifth is what agents add.

1An owner

A named human who answers for the agent, approves its scope and is the trigger for reassigning it when they leave. Ownership is what makes every other control enforceable, because a scope nobody approved cannot be narrowed with confidence and an expiry nobody owns is renewed by default.

2A scope

The smallest set of systems and actions the task needs, expressed as the credentials the agent holds rather than as an instruction in a prompt. A prompt that tells an agent to stay out of production is a preference. A token that cannot reach production is a control. The gap between the two shows up the first time the agent is handed input written outside the company.

3An expiry

A date on which the agent is re-justified or removed, with credentials short enough that a leaked one has a deadline. Expiry is the only control on this list that works while nobody is paying attention, and it is worth setting even on an agent whose scope is already narrow.

4A place in the review

The agent appears in the access review beside the people, routed to its owner. What it reached recently sits next to what it is permitted to reach. Reviewing an agent on its permissions alone reproduces the rubber stamp, because the permissions looked plausible when they were granted and look plausible now.

5A trail of actions rather than of permissions

For a service account, what it could do is a fair summary of what it did. For an agent it is not, because the two sets diverge every day. The record has to say what the agent reached, when, and on whose behalf, or nobody can answer the question after an incident. A register of agents is not an audit trail either, because the register holds what was granted and the question after an incident is always what was used.

Where do the standards stand?

Nowhere settled, and that is worth saying plainly rather than implying otherwise.

What exists today

SPIFFE gives workloads a verifiable identity and predates the agent wave, which makes it a good fit for a container and a poor fit for an agent an employee created inside a chat tool this morning. The Model Context Protocol authorization specification puts an OAuth model around tool access. An agent's reach into a tool can then be expressed as scopes and withdrawn as a grant. The IETF has draft work that treats agents as workloads, and NIST has asked for public comment on security considerations for AI agents.

What none of it settles

None of it yet answers what to write in an access review row for an agent, and three questions are open in particular. The first is what identifier travels along a delegation chain, so that a second-hop action can be traced to the person who started it. The second is who counts as the accountable party for an agent created inside a product rather than issued by IT. The third is what evidence an auditor should accept for an identity whose behaviour changes daily.

What to do while the standards move

The practical position for a company of 50 to 2,000 people is that the frameworks already apply. SOC 2 CC6 and ISO 27001 A.5.16 govern accounts, an agent has an account, and an auditor sampling accounts will eventually sample one. An agent with an owner, a scope, an expiry and a trail passes that sample. An agent running on an engineer's personal token does not.

How does SCIM treat agent identities?

SCIM does not reach them at all.

Why the protocol does not see them

SCIM provisions people from a directory into applications, and it carries the attributes a directory holds: a name, an email address, a group, an employment status. An agent has none of those attributes, and no directory record behind them. It is created inside a tool, with credentials handed to it by whoever was configuring the tool, and no directory event marks either its arrival or its departure. The protocol also pushes only what the directory knows, so an identity the directory never knew about stays invisible however well the connector works.

What covering them requires instead

Governing agents means reading each application's own lists: accounts, API tokens, OAuth grants and installed integrations. Those lists are reconciled, application by application, against a record of who owns what. That is the same coverage problem as every application outside SCIM, applied to the identities that change fastest and are created most casually. It is also the population nobody has a baseline for, so the first pass through it produces an inventory rather than a review.

What an auditor checks

FrameworkControlWhat the test looks for
SOC 2CC6.1, CC6.2, CC6.3No framework names agents yet. The criteria apply to an agent's account as to any account: authorized, provisioned by an approved path, reviewed, and removed when no longer needed.
ISO 27001:2022A.5.16, A.5.17Identity management covers every identity through its lifecycle, and the authentication information an agent holds is protected and rotated.
PCI DSS v4.07.2.5, 8.6Application and system accounts are assigned least privilege and their authentication factors are managed; an agent acting in a cardholder environment is one of them.
OWASP NHI Top 10NHI5, NHI10Overprivileged non-human identities, and humans using a non-human identity's credential, are the two ranked risks an agent most often creates.

Asked in the field

Its own, with the employee recorded as the owner. An agent running on a person's credential is indistinguishable from that person in every log, inherits access nobody granted it deliberately, and keeps working when they leave. Separate identity, named owner, narrow scope.

The path of authority from a person to whatever finally acts. Ana asks agent A, agent A calls agent B, agent B calls the CRM. Each hop should carry whose authority it is acting on and who approved that, because by the third hop the original scope is usually lost.Asked on Hacker News

They cannot answer a prompt, so the answer is the same as for a service account: short-lived credentials issued on demand, the narrowest scope the task needs, network restrictions where the system allows them, and monitoring for actions outside the pattern the job produces.

A service account does the same thing every night. An agent decides at runtime which of its permissions to use, on input it was given by someone else, which means its scope is the primary control rather than one control among several.

Its named owner. An agent without one has no accountable party, and an action nobody is accountable for is what governance exists to prevent. The owner approves the scope, answers at review time, and is the trigger for reassigning or revoking the agent when they leave.