ECZ-ID Agent Passport
Give your AI agent a persistent, resolver-verifiable identity.
One permanent ECZ-ID for your agent, linked to the organisation that operates it, published on a resolver anyone can read and re-check. £0. No card required.
Free forever, not a trial. One Agent Passport is one logical AI agent operated by your organisation.
What you walk away with
- Price
- £0 — no card required
- Identity
- A permanent ECZ-ID for one logical agent
- Operator
- Your organisation, on the record as its Parent
- Public proof
- A resolver page and a machine-readable JSON record
- Included
- 5 managed Agent bindings
Versions, deployments, replicas, regions and platforms of that agent are not separate Passports.
Start here
Three ways in.
I operate an agent
Give it a permanent identity and put your organisation on the record as the operator.
I need to verify an agent
Resolve an ECZ-ID and read what is actually published about it — operator, current state, and what the record does not establish.
I build agent systems
Publish identity from the surface your agent already serves. A static file, no library, nothing new in the execution path.
Free Agent Passport
£0. No card required. Permanent.
A permanent ECZ-ID
One persistent identifier for the agent. It does not change when you upgrade, downgrade, lapse or cancel anything.
An operator relationship
The agent is published against the organisation that runs it, so the record answers who is accountable and not only what the software is called.
A free DECLARED Parent if you need one
If your organisation has no ECZ-ID yet, a DECLARED Parent is created during the same flow at no charge. If you already have one, it is reused rather than duplicated.
A public Resolver record
A human-readable page at /p/{ecz-id} that anyone can open without an account, an API key or a login.
A machine-readable record
The same record as JSON at /api/p/{ecz-id}.json, with a stable schema, for policy engines, gateways and other agents.
Current public state
Lifecycle state and the time it was read, published on the record rather than asserted in a badge image.
A badge and a QR code
Drawn by the badge service from the record's current state, so a stale copy cannot be pinned to a README.
The Publish Kit
The share link, the machine URL, the badge and the embed for your repository or manifest, in one place.
Five managed Agent bindings
Five managed Agent bindings are included. A binding is an active deployment or platform you put under management — not the agent itself, and not a replica or a version of one.
Re-check on demand
Current state is evaluated when someone actually asks — opening the record, re-checking from the Publish Kit — rather than by a schedule you did not ask for.
Adjacent Passport discovery
If your agent also exposes an MCP server, an API, an SDK or a workload, the flow tells you those can have identities too. You choose. Nothing is issued for you.
What this is not
The limits, before you rely on any of it.
DECLARED is not verified
DECLARED does not mean independently verified. It records what an organisation says about itself, with the date it said it — not the outcome of a check.
A verified Parent does not verify the agent
A VERIFIED or ASSURED Parent does not verify the agent. The parent organisation's identity is verified. The machine is not.
A Passport is not a Credential
An Agent Passport is not an Agent Credential. The Passport is identity: who this agent is, who operates it, and what is published about it. A Credential is a separate, specialist strengthening product with its own evidence and its own scope.
An absent record is not a finding
No public ECZ-ID Passport found is not a safety finding. It means this identifier resolves to no published record — nothing more. Most software has no ECZ-ID yet.
What you get
A public record anyone can resolve, and re-check.
Two addresses, both public, neither requiring an account or an API key. One for people, one for machines.
For people
resolver.ecocitizenz.org/p/ECZ-GB-XXXXXX::AGENT_PASSPORT-YYYYYY
A readable page: the agent, its operator, current state, and what the record does not establish.
For machines
api.ecocitizenz.com/api/p/ECZ-GB-XXXXXX::AGENT_PASSPORT-YYYYYY.json
The same record as JSON on a stable schema, for gateways, policy engines and other agents.
What the record carries
Example values
- ecz_id
ECZ-GB-XXXXXX::AGENT_PASSPORT-YYYYYY
The agent's permanent identifier. The type is inside the identifier.
- record_type
AGENT_PASSPORT
One of seven record types, derived from the identifier itself.
- parent
{ ecz_id, parent_tier, independently_verified, tier_meaning }
The operator, and whether the ORGANISATION has been independently verified. Never the agent.
- lifecycle_state
ACTIVE
Current published state, with as_of alongside it.
- public_bindings
[ { locator_class, locator, provenance } ]
Where this agent is declared to run, and how that was established.
- is_proof
false
The Resolver says so itself. The record is evidence to weigh, not a verdict.
- recheck_before_reliance
true
Always present. State can change after you read it.
- do_not_infer
[ … ]
The things this record explicitly does not establish. Read it.
The record is not proof. It publishes what is currently declared and what evidence exists, with the time it was read. Re-check the live record before you rely on it.
Re-check before reliance. State can change between the moment a badge is drawn and the moment an agent acts.
Example identifiers on this page use the placeholder form ECZ-GB-XXXXXX and are not real records.
Works with your agent stack
Provider-neutral, framework-neutral, and outside the execution path.
| Alongside | What it does | What ECZ-ID adds |
|---|---|---|
| MCP | Connects an agent to tools and data through a defined server protocol. | A resolvable identity for the agent and, separately, for the MCP server it uses — each with a named operator. |
| A2A | Lets agents discover and talk to one another. | A persistent public identity a counterparty agent can resolve and re-check outside the conversation itself. |
| OAuth and OIDC | Delegates authorisation and authenticates a principal for a session. | A durable public record of the agent and its operator that outlives any token and is readable by parties who hold none. |
| Native IAM and workload identity | Governs what a workload may do inside a cloud account, tenant or cluster. | An identity that is meaningful outside that boundary, to someone with no access to it. |
| SPIFFE and service accounts | Issues short-lived workload identity inside infrastructure. | A stable public identifier for the logical agent, rather than a rotating internal one for a running process. |
ECZ-ID stays outside the execution path. It does not broker your agent's calls, hold its credentials, or sit between it and the systems it uses. What it adds is the layer none of those provide: a persistent public identity for the agent itself, tied to a named operator, that someone outside your organisation can resolve and re-check.
Agents and MCP
Does your agent use an MCP server?
An agent and the MCP server it calls are two different things, run by two parties who may not be the same. Each can hold its own identity, with its own operator on the record.
You use someone else’s MCP server
Resolve it before you wire it in. If it publishes an ECZ-ID you can see who operates it and what state the record is in. If it does not, that is not a finding against it — most servers have no ECZ-ID yet.
You operate the MCP server yourself
Give it its own free MCP Passport. Same organisation, same Parent, a separate identity for a separate thing — with five managed endpoints included, on its own allowance.
Adjacent Passports are suggested, never issued for you. If your agent also exposes an MCP server or an API, you choose whether to give those an identity too.
When you need more
Each of these moves exactly one thing.
IDENTITY
Free Agent Passport
Who is this agent, and who operates it?
Available now
CAPACITY
Agent Capacity
How many deployments can I put under management?
Prices published · self-serve not open yet
LOCAL INSPECTION
Agent Trust
What do the agents on this machine actually have access to?
Available now
AGENT-SPECIFIC STRENGTHENING
Agent Credential (KYA)
Can this specific agent carry stronger, agent-specific evidence than a declaration?
By arrangement
PARENT STRENGTHENING
Parent VERIFIED
Has the operating organisation been independently checked?
By arrangement
PARENT STRENGTHENING
Parent ASSURED
Can the organisation carry ECZ-ID's highest assurance standard?
By arrangement
MONITORING
PulseGuard
Tell me when something about this identity changes.
Planned
EVIDENCE
LedgerCore
Keep the record of what was true, and when.
Planned
SERVICE / ENTERPRISE
Enterprise and platform
We are a platform, an insurer, a procurement function or an OEM. What does this look like at our size?
By arrangement
Your ECZ-ID does not change. Moving between tiers, letting one lapse, or never paying at all leaves every identifier, record and resolver page exactly as it was.
Your agent is already acting. Give it something to be.
£0, no card required, permanent, and it takes one sign-in.