Identity
— — — — — — who or what is acting? On-Behalf-Of on whose behalf? Authority under what authority? Scope within what scope? State in what state? Audit with what proof?
Concepts
KYE Protocol™ is built on six primitives. Each is a real protocol object — a schema, an endpoint, an example payload, a decision role, an audit event — not an explanatory abstraction. Click any card to jump straight to its definition + schema + endpoint + open-banking flow.
Why six
— — — — — — who or what is acting? On-Behalf-Of on whose behalf? Authority under what authority? Scope within what scope? State in what state? Audit with what proof?
Combined, they produce : a replayable, signed answer to all six questions for every action a human, service or AI agent takes.
Primitive 1 / 6 · vocabulary →
Definition. A KYE™ identity is a single durable URN that uniquely names any actor — human, service, AI agent, model, tool, workflow, business — and binds it to a public key. URN format: kye:<class>:<trust-domain>:<subclass>:<local>. Identifiers persist across rebuilds, redeployments, and tool invocations.
https://kyeprotocol.com/schemas/entity.jsonPOST /v1/entities · GET /v1/entities/{id} · POST /v1/entities/{id}:rotate-keysubject, actor, and principal in every authorize call.entity.registered · entity.key_rotated · entity.tombstonedOpen-banking example.
kye:human:acme.eu:psu:alice-meier — payment-service user (account holder).kye:business:acme.eu:corp:acme-treasury-gmbh — corporate account holder.kye:agent:fintech-x.eu:tpp:ai-finance-bot — the TPP’s AI finance agent.kye:service:bank-z.eu:aspsp:rail-gateway — the bank’s ASPSP rail.Primitive 2 / 6 · the missing layer
Definition. A signed delegation chain that binds every action back to a human or business who is legally on the hook. Each link carries a parent_delegation_id, a scope (which must attenuate the parent’s — never exceed it), and a signature from the delegator. The chain is the answer to “who authorised this?” in seconds, not a Slack thread.
Why it matters. Modern systems do not just authenticate users. They delegate authority across humans, companies, agents, APIs, wallets, workflows, and payment rails. KYE™ makes acting on behalf of explicit, scoped, state-aware, revocable, and auditable. This is the layer OAuth, OIDC, and SPIFFE leave to ad-hoc app code.
https://kyeprotocol.com/schemas/delegation.jsonPOST /v1/delegations · GET /v1/delegations/{id} · POST /v1/delegations/{id}:revoke · GET /v1/graph/authority-pathdeny: chain_broken.delegation.issued · delegation.revoked · delegation.expiredOpen-banking flow:
Primitive 3 / 6
Definition. An authority grant declares what an actor may do, over what resource, under what conditions, until when. Authority is bound to a delegation chain (on-behalf-of) so it always traces to a root principal. Authority is recursively revocable: revoke a parent and the cascade kills every child grant in < 1 second.
https://kyeprotocol.com/schemas/authority-grant.jsonPOST /v1/authority-grants · GET /v1/authority-grants/{id} · POST /v1/authority-grants/{id}:revoke · POST /v1/runtime/authorizeallow_with_constraints · require_approval · deny. Every decision carries the obligations the caller must honour.authority.granted · authority.exercised · authority.revoked · authority.cascade_revokedOpen-banking example.
Primitive 4 / 6
Definition. Scope is the parameter-level constraint set on an authority. Not a single “can transact” flag — structured fields: amount.max, currency.allowlist, corridor.allowlist, beneficiary.first_time, time_window, approval.threshold. Attenuation invariant: a child’s scope MUST be a subset of its parent’s. Enforced by the protocol, not the policy bundle.
https://kyeprotocol.com/schemas/scope.jsonPOST /v1/scopes · POST /v1/scopes:attenuate · POST /v1/scopes:check-subsetdeny: scope_attenuation_violation.scope.created · scope.violatedOpen-banking example.
{amount.max: 1000, currency: ["EUR"], corridor: ["SEPA"]}.{amount.max: 500, currency: ["EUR"], beneficiary.first_time: false}. Protocol verifies the child is a subset; rejects any agent grant claiming €2,000 (would exceed parent).Primitive 5 / 6
Definition. Every KYE™ entity carries six state dimensions, each independently versioned: lifecycle (created/active/quarantined/tombstoned), authority (granted/exercised/revoked), delegation (issued/expired), credential (valid/rotated/revoked), recovery (normal/break-glass/restored), risk (telemetry-derived posture). The runtime evaluates state at the moment of decision — auditors replay the same point-in-time state offline.
https://kyeprotocol.com/schemas/state-composition.json · https://kyeprotocol.com/schemas/state-composition.jsonGET /v1/entities/{id}/state · GET /v1/entities/{id}/state:at-time · POST /v1/state-transitionsdeny: state_mismatch.state.transitioned · state.replayedOpen-banking example.
authority.revoked on the TPP grant, cascade fires.deny: authority_revoked. The decision is replayable: at T+30 days an auditor evaluates state “as of” T+0:00.5 and gets the same answer.Primitive 6 / 6
Definition. An append-only, hash-linked audit chain. Every authorise call, every state transition, every signal cascade emits a signed audit event. Bundles project to Evidence Packs™ — the artefact a regulator, court, auditor, or dispute panel verifies offline using public keys alone. No read-access to your runtime required.
https://kyeprotocol.com/schemas/audit-event.json · https://kyeprotocol.com/schemas/evidence-pack.json · https://kyeprotocol.com/schemas/proof-bundle.jsonPOST /v1/audit/events · GET /v1/proof-bundles/{id} · GET /v1/decisions/{id}/map · POST /v1/oscal/exportaudit.appended · evidence_pack.exported · decision.replayedOpen-banking example.
Where to go next
Start in shadow mode. We’ll deliver your first Evidence Pack™ in 4–8 weeks.
Canonical KYE™ surfaces referenced on this page: Evidence Pack™ · KYE Protocol™.