PEAC v0.16.4Open protocol for verifiable records

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.

  1. API call
  2. MCP tool run
  3. Agent action
  4. Gateway decision
  5. Payment event
  6. Provisioning event
  1. Your team verifiesdebugging · incident review
  2. Customer or partner verifiesshared records · disputes
  3. 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.

support-agent.exampleSample record

Decoded record

Refund approved

support-agent 2026-04-17 08:01:31 UTC

{
  "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

Not verified yetRuns in your browser with the issuer’s public key. Nothing is sent anywhere.

See how it works

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.

MCP tool runExample record
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...
One verifier checks all six.Open this example

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.

Verify offlinePEAC v0.16.4
$ 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.json

Signature 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.