Every agent stack can tell you what the model said. Almost none can prove
that what the system did was allowed. When a regulator, a customer,
or your own board asks “who checked that?” — a transcript of tokens
is not evidence. Onyx is the missing evidence layer, in three verbs:
Gate
Decide, fail-closed.
Each consequential action — a tool call, a transaction, a permission
change — is decided against your policies: Cedar, Rego, XACML, or
custody-style transaction rules. The verdict isn’t a rules-engine
evaluation; it’s a theorem, proved fresh every time. Drops into agent
stacks as an MCP server.
gate_action wire $250,000
DENY — quorum unmet (2-of-3)
⊢ proved · certificate attached
Verify
Interrogate the policy itself.
Onyx answers questions over all requests, not one: can any
request matching X ever be permitted? Can a single signer ever move
funds? Do these two policy sets agree? A violation returns a concrete
counterexample; a pass returns a certificate.
assert no-single-signer
HOLDS — every case certified
equivalence check: differs
witness: req #117 → allow vs deny
Attest
Evidence that survives you.
Every decision lands in a hash-chained audit trail. Edit, delete, or
reorder a record and the chain breaks — loudly. One command re-checks
every certificate in the trail, offline, months later, using nothing
but the standalone checker.
eg_verify --audit-log trail.jsonl
records 1–214 confirmed · linked
record 215 chain broken
tamper detected