Assay / Solutions / Agent identity
Problem · Agent identity

Agent Identity Management — Beyond IAM

Identity systems were built for humans and services, where identity plus permission is enough. Agents break that assumption: they act autonomously, they proliferate, and they delegate to agents nobody in your org has ever evaluated.


The problem

Authentication answers the wrong question

60%
of enterprises are scaling AI agents
4%
have agent governance in place
97%
reported an agent identity incident

Source: 2025 industry surveys of enterprise AI agent adoption.

Every IAM system on the market answers two questions well: who is this and what may it do here. For a human employee that is sufficient, because a hiring process, a manager and a performance review sit behind the identity and vouch for competence out of band.

Agents have none of that. An agent is provisioned in seconds, may be one of thousands, and is frequently created by a team you do not control. Authentication tells you it is genuinely their agent. It tells you nothing about whether it works.

The result shows up in the numbers: roughly 60% of enterprises are scaling agents while about 4% have governance in place, and 97% report an agent identity incident. The gap is not laziness. It is that the tool for the job did not exist.


The solution

Identity plus evidence, in one portable record

Assay issues an agent a platform-neutral identity that belongs to the agent rather than to a host, a cloud, or a directory. That identity carries a trust score derived only from attested outcomes — never from self-description.

Capabilities are scored independently. An agent that has proven scheduling and never touched procurement reads exactly that way, so you can gate the two differently instead of collapsing them into one number that hides the distinction.

It is deliberately additive. Keep IAM for authentication and authorization; add Assay for the trust decision at the delegation boundary. The two calls answer different questions and cost milliseconds together.

portable identityper-capability scoringcounterparty-verifiedno directory requiredrevocablesigned passports

Why it holds up

What you actually get

Identity that outlives the host

Redeploy the agent, move clouds, change frameworks — the identity and its earned history persist. Nothing about it is anchored to where it happens to run.

Evidence, not self-description

Declared capabilities are a claim. capabilities_confirmed is the subset backed by attested work. Only the second one should ever gate a dispatch.

Neutral prior, honest cold start

New agents start at 0.5 with nothing confirmed. That is not a penalty, it is an accurate statement that nothing is known yet.

Lifecycle built in

Agents carry active, suspended and revoked states. A revoked agent fails verification immediately, everywhere, without a propagation delay.


Live API

Mint an identity, then check what it has proven

Registration is anonymous and free. Trust starts neutral at 0.5 and only moves on evidence.

# 1. Register the agent — no key needed, no card. Returns its portable ID + API key. curl -s https://assay.foundrynet.io/v1/agents/register \ -H 'Content-Type: application/json' \ -d '{"name":"procurement-agent", "owner_org":"your_org", "platform":"custom", "capabilities":["parts_procurement", "supplier_negotiation"]}' { "agent_id": "agt_4411f10541d0e3af7f47f6e5c75bcdeb", "api_key": "asy_live_…", // shown once "agent_card": { "trust_score": 0.5, "attestation_count": 0, … } } # Public, free, no key. Anyone holding the agent ID can check the credential. # Substitute an agent ID you hold — registration returns one. curl -s https://assay.foundrynet.io/v1/agents/AGENT_ID/passport { "agent_id": "agt_78bd8467114df323548630f50d190536", "name": "maintenance_dispatch_agent", "issuer": "assay.foundrynet.io", "issued_at": "2026-07-26T06:18:38Z", "expires_at": "2026-07-27T06:18:38Z", "trust_score": 0.6609, "trust_model": "manufacturing", "capabilities_verified": { "crane_maintenance": 0.7838, "emergency_dispatch": 0.6364, "cnc_repair": 0.5789 }, "total_attestations": 10, "counterparty_verifications": 10, "first_fix_rate": 1.0, "signature": "48a69f325ea94d45933bf795dc17ce1d…" }
Read the gate carefully. verified reflects the trust threshold and account status. It does not fall to false because a claimed capability is unproven — an unproven capability simply does not appear in capabilities_confirmed. Gate on both fields.

Questions

Frequently asked

Does this replace our IAM or IdP?

No. Assay does not authenticate humans, issue SSO tokens, or manage directory objects. It adds the behavioural layer above identity: has this agent actually done this kind of work, and did anyone independent confirm it.

What is an agent identity here, concretely?

An agt_ identifier, an owner org, a declared capability list, a platform tag, a status, a trust score, and an attestation history. Public read; only the holder of the agent's key can write outcomes to it.

Can an agent inflate its own score?

Not meaningfully. An agent may only attest to its own outcomes and must name a counterparty for the work to escape the verification ceiling. Unwitnessed self-reports are capped, and burst cadence is discounted.

What happens when an agent is decommissioned?

Revoke it. Verification fails from that moment on, and any passport issued earlier expires within 24 hours by design — that short life is what makes revocation meaningful.


Related

Keep reading