Check who signed the verdict.
Export a decision from Permission Preview. Supply the expected gateway identity and a public key obtained separately.
Download decision verifier →Give an agent a precise permission. Check every proposed action. Keep a verifiable record of the decision.
REFERENCE RELEASE · AUTHORITY 0.2 / WITNESS 2Pin the human root and delegate key. Bound the recipient, total, expiry and delegation.
VERIFYPreview without consumption. Reserve under a transaction using the same authorization checks.
REVOKECheck current revocation state at the protected boundary. A completed action cannot be undone by revocation.
PROVEVerify signed decisions and committed history against separately trusted keys. Keep outcomes distinct from approvals.
Download these two files into the same folder. With Node.js 20 or newer, run the quickstart. No package installation or account is required.
node authority-quickstart.cjsThe example creates temporary keys, previews a €25 request under a €40 grant, reserves it locally, refuses excess spending and a changed recipient, revokes the grant, and verifies its signed decision.
const { createPermissionPreview } = require("./echo-authority-sdk.cjs")
const session = await createPermissionPreview({
merchant: "demo-merchant",
budgetMinor: 4000,
durationMinutes: 60,
})
await session.preview({ amountMinor: 2500, recipient: "demo-merchant" })
// Same evaluator; no budget consumption.
await session.reserve({ amountMinor: 2500, recipient: "demo-merchant" })
// Signed local reservation; dispatched: false.
await session.revoke()The SDK packages the website’s TypeScript evaluator. The quickstart uses memory only and sends no payments. The repository also includes a PostgreSQL reservation adapter; each deployment must supply its own trusted enrollment, state and executor.
Export a decision from Permission Preview. Supply the expected gateway identity and a public key obtained separately.
Download decision verifier →Export evidence from WITNESS. Download both verifier files. Configure trusted subject and witness keys separately from the evidence.
Download WITNESS core →node verify-authority-decision.cjs authority-decision.json TRUSTED_GATEWAY PINNED_PUBLIC_KEY
node verify-witness.cjs witness-evidence.json trusted-keys.jsonDemo trust exports reproduce a local session. They do not establish real identity or independent witness operation. A verifier must choose trusted keys through its own enrollment process. Signed times are the signer’s reported times.
Keep provider credentials inside the service that enforces the grant. Authenticate and pin roots there. Bind each invocation to that service and exact parameters. Coordinate shared budgets transactionally and prevent duplicate dispatch.
An authorization receipt proves a decision. An executor’s receipt reports an attempt. A separate attestor’s receipt may report the outcome. When the result is uncertain, keep it unknown and reconcile before retrying.
These are deployment requirements, not services activated by opening this page. The browser panel and quickstart are local references. No independent audit or uninterrupted availability is claimed.