How it works

A sealed file for every agent run

EPI turns an AI agent run into a portable .epi evidence file: steps, hashes, Ed25519 seal, optional policy analysis, optional SCITT / timestamp. You verify offline — no dashboard required to trust the seal.

The loop

  1. Recordrecord() or wrap OpenAI / LangChain / LiteLLM while the agent runs.
  2. Seal — SHA-256 of members + Ed25519 over the canonical manifest → one .epi.
  3. Verifyepi verify or browser private check (file not uploaded).
  4. Viewepi view opens a forensic timeline in any browser.

Three different questions

Seal

Tampered?

Integrity + signature of this file.

Valid seal ≠ known who
Identity

Who sealed?

KNOWN (org pin) / LOCAL / NOT_PINNED. Unpinned → WARN, not claim-ready.

epi keys trust · --policy strict
Policy

Rules broken?

Optional epi_policy.json + deterministic analyzer. Separate from seal.

epi analyze

What a .epi is

Envelope-v2 polyglot: valid HTML + ZIP payload. Contains manifest.json, hash-chained steps.jsonl, environment, optional analysis, embedded viewer. Change one byte and the signature fails.

Verify modes

See also on this site

Depth (GitHub)

Try on home Open verify tool →