PEAC Protocol
An open protocol for portable signed interaction records. PEAC defines the record format, verification model, conformance requirements, and carrier mappings. It can be implemented and used independently of Originary.
PEAC Protocol is published by Originary and distributed through GitHub and package registries under Apache-2.0.
A signed record another party can check.
PEAC defines how a system issues a signed record for an automated action so another party can verify what the issuer recorded, without access to the issuer's private systems, under an explicit issuer-and-key policy.
Signed by the issuer
Every record is signed with Ed25519. Issuers publish their public key once. Verifiers check the signature offline against that key.
Verifiable away from the issuer
Records are carried as compact JWS strings or exported as bundles. They do not depend on the issuer's dashboard, database, or API to stay verifiable.
v0.16.4 on npm latest.
Released 2026-08-09. Reference implementation, conformance fixtures, and signed-record adapters published in the open.
Six parts in every record.
Every record carries the same skeleton: facts, policy, result, time, issuer, signature. The issuer asserts the first four; the last two identify who signed it and let anyone check it.
What happened
The action itself: an API call, MCP tool run, gateway decision, provisioning event, or payment-related machine action, captured as a typed signed record with its selected facts.
Under what terms
A digest of the policy or terms that applied at issue time. A verifier can check which version of peac.txt or another published policy document the record binds.
What returned
Status, digests, observed outcome. The record commits to what the issuer says happened, so a later review does not depend on log retention.
When it happened
Issue time and, where relevant, the observed event time, as the issuer recorded them, so a later review can place the action on a timeline.
Who issued it
The system that observed the action and signed the record, identified by its issuer URL. Keys resolve from the issuer's published configuration, so a verifier can check which key signed it.
Signature
Ed25519 signature over the canonical JWS signing input. Verification is offline with a public key you supply.
The surfaces PEAC already maps.
PEAC composes with the systems your stack already uses. Each profile maps an existing surface to a portable signed record without replacing the runtime that produced it.
Self-host the protocol or use it with Originary.
Anyone can self-host PEAC Protocol, issue records, and verify them without an Originary account or managed service. Originary publishes and maintains PEAC Protocol and also offers commercial tools and implementation support for teams running it in production.
Apache-2.0
- Full protocol specification
- Reference TypeScript implementation
- CLI for issuance and verification
- MCP server for tool-call records
- No Originary account or managed service required
Verification Pilot
- Supported self-hosted issuance and verification
- Bring-your-own-key signing (local or your KMS)
- Audit bundle export
- Implementation and rollout support
- Procurement-ready record artifacts
Verify a record with one command.
Install the public packages from the npm latest dist-tag and verify a signed record locally.
npx -y @peac/cli@0.16.4 verify ./record.jws --public-key ./jwks.json
Or install the libraries: @peac/protocol @peac/crypto @peac/schema @peac/mcp-server