Skip to content
Documentation menu

Core concepts · 03

Identity vs authority

Identity answers: which agent is calling? Authority answers: may it do this specific thing, right now? Keydris exists because the second question is the one your existing stack doesn't ask.

The same agent, two different answers

Watch one agent (same identity, same KIT) make two requests under the same policy:

agent kd_agt_7c2 → repo.deploy { env: staging }

scope repo:deploy granted · policy v14 permits · proceeds to execute

ALLOW

agent kd_agt_7c2 → db.reset { instance: prod-users }

same agent · same KIT · db:admin not granted · blocked before execution

REJECT

Identity stayed the same. Authority for each action did not. Each request is evaluated independently against the assigned policy. There is no memory of the previous decision, no behavioral judgment, no intent-reading. Just the question: does this agent's granted authority cover this action?

Where authority comes from

Authority is delegated, and the delegation chain is explicit. Your organization connects the systems and selects which resources are governable. An operator authors a policy and assigns it. A user or automation principal runs the agent under that policy. The KIT the agent presents binds all of it together: organization, principal, device, agent, and policy.

Verified behavior

The agent never grants itself anything, and Keydris doesn't originate authority either: it verifies and enforces the authority your organization delegated. Issuer means your org, through the Keydris control plane.

The three decisions

Every governed action resolves to exactly one of three decisions:

allow

The action proceeds to execute. Whether it then succeeds at the provider is a separate, separately-recorded fact.

ALLOW

require_approval

The action is held. The approval prompt renders in the agent's own harness. Keydris keeps no approval inbox.

APPROVAL REQUIRED

reject

The action is blocked before execution. Unsupported and unmatched actions land here too: the default is reject.

REJECT

When rules overlap, the most restrictive matching outcome applies. When nothing matches, the policy's default decision applies, and the safe default is reject.

This page covers the mechanics. For the category itself, what agent authorization is and how authority differs from identity and access, see AI agent authorization. For why the identity–authority distinction may become machine-authority infrastructure, read the thesis.