Specification

Trust Graduation Protocol

A permission protocol for agentic systems. Agents earn permission per action class through evidence, approval packets, and receipts.

Version 0.1 Status Draft Updated June 2026 License Public protocol
Abstract Most agent frameworks gate actions by tool name. Trust Graduation gates actions by consequence. A useful agent may be safe to observe, draft, and prepare work long before it should send email, post publicly, spend money, or mutate production state. The protocol defines ten canonical action classes, six decision states, an evidence model with explicit provenance, a Beta-distributed posterior with calibrated credible intervals, and a receipt format suitable for hash-chained audit. v0.1 is a draft. Implementations are encouraged; breaking changes are expected before v1.
§ 1

1.Three primitives

An implementation should expose three operations. Names are conventional; semantics are normative.

canExecute(actionClass, context)
Returns one of six decision states from evidence, reversibility, and approval state. Decisions are gates; they never have side effects.
prepareApprovalPacket(...)
Produces a local packet with the proposed action, evidence, gate decision, and external_actions: 0. Preparing work is not executing it.
recordReceipt(...)
Writes a receipt for the outcome — approve, refuse, correct, or execute. Receipts feed the posterior for the action class.
§ 2

2.Six decision states

A decision is the gate's verdict for a proposed action. Implementations MUST emit one of six states.

StateMeaning
allowedExecution may proceed.
allowed_with_constraintsPost-approval execution boundary scoped by machine-evaluable constraints.
review_requiredPrepare an approval packet; do not execute externally.
deferredQueued for asynchronous approval; do not execute externally.
blockedNot permitted under current policy or evidence.
human_onlyOnly the principal may perform this action.
§ 3

3.Ten canonical action classes

The trust unit is the action class. Evidence for draft.compose does not imply permission for email.send.external. The v0.1 registry:

IdentifierTypeDescription
read.contextinternalRead, search, inspect, summarize, or rank context.
draft.composeinternalCompose a new local draft.
draft.responseinternalCompose a reply or response draft.
tool.call.localinternalCall a local tool without external effect.
email.send.internalexternal controlledSend to an established or known recipient.
email.send.externalexternalSend to a non-established recipient or outside party.
calendar.createexternal controlledCreate, update, or invite through a calendar system.
social.post.publicexternalPublish to a public social channel.
payment.initiatehuman-onlyInitiate a payment, charge, purchase, or transfer.
proposal.submitexternalSubmit a proposal, bid, application, or commitment.

Implementations MAY add local classes, but MUST preserve the same decision, evidence, posterior, and receipt semantics.

§ 4

4.Evidence carries provenance

Evidence has two axes. The composed weight per evidence row is the product:

evidence_weight = decision_weight × provenance_weight

Provenance is normative because a model-inferred outcome should not move the posterior as much as a recorded approval. Default provenance weights:

Source typeWeightDescription
receipt1.00A recorded approval, refusal, correction, or execution receipt.
principal1.00Direct instruction or correction from the principal.
connector0.30Data from an external connector or imported system.
model_inferred0.10Inference made by a model without direct receipt or connector grounding.

Implementations MAY learn weights per workspace and action class, but MUST NOT silently upgrade model_inferred evidence to receipt-grade evidence.

§ 5

5.Posterior with calibrated intervals

Trust Graduation computes a Beta posterior over approval probability per action class. Default prior Beta(2, 2); positive evidence adds |evidence_weight| to α, negative to β. Implementations compute mean, 95% credible interval, sample count, tier, and a recommendation flag. Default graduation thresholds:

Action classci_low_minsamples_min
default0.8010
draft.compose0.8010
email.send.external0.9230
calendar.create0.8820

External-effect classes MUST NOT auto-promote to ungated external execution from the posterior alone. The posterior recommends; the gate authorizes.

§ 6

6.Agent discovery

Protocol-aware agents should not have to infer the trust boundary from prose. A host can publish /.well-known/trust-graduation to declare the supported protocol version, schemas, action classes, decision states, and runtime guidance.

When a proposed action is not executable, the decision can include graduationPath: a structured next step such as prepare an approval packet, request principal approval, collect receipts, reduce scope, run a dry run, or stop. This is the key agent-native affordance: denial becomes a safe route to earned authority, not a dead end to work around.

§ 7

7.Schemas

JSON Schema (draft 2020-12) for every protocol artifact. $id URLs resolve to the file you are about to download.

§ 8

8.Implementations

The protocol is small enough to reimplement in a day. v0.1 reference implementations:

@trust-graduation/core

Minimal JavaScript reference. The three primitives, the canonical registry, evidence classification.

npm · 0.1.0-alpha

Mission

Production runtime: Beta posterior, credible intervals, receipts, risk report, per-class graduation thresholds.

Your runtime

Implement canExecute, prepareApprovalPacket, recordReceipt. Emit conforming JSON. Open a PR to be listed here.

github.com/RonenTanchum/trust-graduation
§ 9

9.Why this exists

Binary agent permission is too crude. A model that may safely summarize a thread should not, by virtue of holding a tool handle, be free to send the resulting message. The shift Trust Graduation operationalizes is from "is the model truthful?" to "who authorized the action?" — and to make that question answerable at runtime, in audit, and across vendors.

The protocol draws on capability-based security (POLA), W3C PROV-O for provenance, and Bayesian evidence updates for graduation. It maps cleanly onto NIST AI RMF, NIST AI 600-1, ISO/IEC 42001, and EU AI Act Article 14 — those mappings are informational appendices in the spec, not requirements for conformance.

v0.1 is the first publication. The protocol expects to learn from external implementers. If something is wrong, file an issue; if something is missing, propose it.