Agent actions, on the record.
Give every important agent, API and tool action a signed record. Verify it later, and share it with customers or auditors without exposing your logs.
Open sourceOffline verificationSelf-hostableNo Originary account needed to verify
Originary records selected facts from a local system action, signs the record, and lets anyone verify it outside the system that created it. Verification supports audit, compliance review, dispute evidence, and partner handoff.
- API call
- MCP tool run
- Agent action
- Gateway decision
- Payment event
- Provisioning event
- Your team verifiesdebugging · incident review
- Customer or partner verifiesshared records · disputes
- Security or audit reviewsaudit · compliance review
Composes with
Examples are interoperability surfaces, not partnership claims.
Interoperates across commerce, identity, and evidence
Ed25519 · JCS · Compact JWS · HTTP Message Signatures · Offline verification
See a record
Check a signed record right here, in your browser.
This is a real Ed25519 signature. Change one field and watch the check fail.
Decoded record
Refund approved
{ "action": "refund_approved", "iat": 1776412891, "iss": "https://support-agent.example", "result": "refunded", "sub": "crm.update" }
Signed token · compact JWS
eyJhbGciOiJFZERTQSIsImtpZCI6Imh0dHBzOi8vc3VwcG9ydC1hZ2VudC5leGFtcGxlLy53ZWxsLWtub3duL2p3a3MuanNvbiNkZW1vLTEiLCJ0eXAiOiJpbnRlcmFjdGlvbi1yZWNvcmQrand0In0.eyJhY3Rpb24iOiJyZWZ1bmRfYXBwcm92ZWQiLCJpYXQiOjE3NzY0MTI4OTEsImlzcyI6Imh0dHBzOi8vc3VwcG9ydC1hZ2VudC5leGFtcGxlIiwicmVzdWx0IjoicmVmdW5kZWQiLCJzdWIiOiJjcm0udXBkYXRlIn0.II1J0aGhPVY8SaJ4SE9AJ_BCWEDs9bg5goG5OYL2AagxTmXNPxNxu2NloFSFkZlh1oIF-ocuHuoAVmGXyEetDQ
Issuer's public key · Ed25519
AuFbhNMoYUl-48DqDWzihJVBED3M1lD8v3qARLZRD4s
What verification means
A valid signature establishes three things and leaves the rest to you.
It tells you the record is intact and was signed by the key you supplied. Whether the record is complete, and whether to trust the issuer, are still your questions.
ResultSignature valid
- CheckedThe supplied key validates the signature.
- CheckedThe protected record has not changed since it was signed.
- CheckedEvaluated content matches what the record binds.
- Not checkedWhether every relevant event was recorded.
- Not checkedWhether the issuer, or each statement, should be trusted.
- Not checkedWhether an external event or legal requirement was satisfied.
Share
Share the record, not your logs.
Your logs stay inside your system. You send the signed record to whoever needs it, and they check it with your public key.
Operator logs, telemetry, dashboards and traces stay inside your system. Only the signed record crosses the company boundary.
Your team
An incident happens.
See what the system recorded without rebuilding the story from separate logs.
A customer
A customer asks what changed.
Send a record they can inspect instead of screenshots from your dashboard.
An auditor
An auditor asks for evidence.
Share the relevant records without opening production systems.
Another system
Two systems disagree.
Compare what each one recorded instead of relying on either side's private log.
Record types
One record model for every important action.
Tool calls, API calls, agent actions, gateway decisions, payments and provisioning all share six parts: facts, policy, result, time, issuer and signature.
- Issuer
- https://mcp.vendor.example
- Tool
- tools.call search_docs
- Policy
- tool-policy:v2 sha256:4e21b8...
- Result
- ok sha256:9a3c1d...
- Time
- 2026-06-12T14:08:11Z
- Signature
- Ed25519 7d40e2c9...
Reviewing a whole incident or transaction? See how related records come together
Open protocol
Built on an open protocol you can run without us.
PEAC is the Apache-2.0 protocol behind every record. Issue records with your own keys and verify them anywhere, offline.
$ pnpm dlx @peac/cli@0.16.4 samples generate -o ./s
$ pnpm dlx @peac/cli@0.16.4 verify ./s/valid/basic-record.jws \
--public-key ./s/bundles/sandbox-jwks.jsonSignature valid (offline).
Runs on your machine. Nothing is uploaded to Originary.Ed25519 · JCS · Compact JWS · HTTP Message Signatures
- Conformance requirements
- 290
- Packages on npm
- 36
- Tests in the open repo
- 13,149
Start here
You know which action gets questioned. Start there.
Tell us what your system does and who needs to check it. We'll help you give that one action a signed record first, then grow from there.