Role
A versioned description of work: intent, authority, discretion, evidence duty. Inert until granted. The shareable unit.
Trust layer for delegated work
cage lets an organisation hand real work to software roles and stay in control: bounded by authority, tempered by discretion, and answerable through evidence.
{
"seq": 41,
"role": "ap-reviewer@2.3",
"assignment": "asg_7fa1",
"owner": "finance",
"authority": ["ledger.read", "invoice.propose"],
"discretion": "act-with-approval",
"effect": "invoice.approve",
"approved_by": "owner",
"decided_at": "2026-10-22T09:14:07Z",
"hash": "9c1f…e2a4"
}
01 — The gap
Agents can already do the work. What stops them is that no one can say precisely what they were allowed to touch, how far they were allowed to decide, or what they actually did.
02 — The model
A versioned description of work: intent, authority, discretion, evidence duty. Inert until granted. The shareable unit.
The grant: an accountable owner, a budget, a TTL, and a context. The unit that acts — not the actor.
The append-only warrant of every effect, hash-chained and signed, written before the irreversible.
Authority
What may be touched.
Nothing not granted is possible. Capabilities exist only through an assignment; there are no ambient credentials.
Discretion
How far it may decide.
Two independent axes, resolved per capability. The same actor can be self-directed on low-stakes work and approval-only on the irreversible.
03 — Isolation
The actor is untrusted by construction: it holds no credential and has no path to a system. Control and enforcement are separate — a policy decision point decides; enforcement points act.
Isolation is a tier, selected per role and failed closed. A tier the cluster cannot provide refuses the run rather than quietly downgrading it.
/dev/kvm. The default for delegated work.
A root-in-guest actor cannot reach the policy that governs it. Network enforcement lives at the node and CNI, not inside the sandbox.
04 — Evidence
Irreversible effects are committed to a signed ledger first. The record carries the role version, the assignment, the owner, the decision, and the basis it was made on.
Records chain by hash. A stranger can verify the whole warrant against the owner’s public key, offline, without trusting the operator.
05 — The loop
Intent, authority, discretion, and what evidence it owes. Versioned, reviewable, inert.
Name the owner, set the budget and TTL. The grant carries the trust, not the model.
Each run gets its own microVM, its own network identity, and only the credentials its role declares.
Every effect is recorded before it lands. Verify the chain offline, hand it to an auditor, or export it.
06 — Access
We are working with a small number of teams on real operational roles. Tell us what you want to delegate.