Swarrm — signed receipts + transparency log + offline verification for AI agent actions
Project description
Swarrm — a flight recorder for AI agents
Every consequential agent action becomes a signed receipt in a tamper-evident log, exportable as a self-contained evidence bundle that anyone can verify offline — without trusting the operator, the vendor, or us.
Companies running agents that take real actions (call models, run tools, approve refunds, move money) need proof of what happened when a dispute, audit, or regulator shows up — proof their own editable logs cannot provide. Payloads never leave the customer; we hold only hashes.
Quickstart
pip install -e ".[dev]" # Python 3.11+ (3.14 recommended)
swarrm demo # agent traffic → receipts → bundle → VERIFIED
swarrm verify demo_out/bundle.json # (the demo tampers one byte → NOT VERIFIED)
swarrm is the whole surface — one word, not a folder of services:
up (the dev stack), demo, verify BUNDLE, wrap -- CMD (MCP capture),
incident, status, and doctor (effective config + is it even recording?).
Config is one knob: EVD_PROFILE=dev|trial|edge sets every defaultable variable,
and swarrm doctor prints what's effective and what's missing. (evd stays as a
back-compat alias; python -m pytest runs the full suite.)
Verify any bundle offline, any time: swarrm verify <bundle.json> — or, with
no account, drop it into the in-browser verifier (verify-rs/web, served at
/verify), which checks it entirely client-side, nothing leaving the page. Put
the "verify it yourself" trust badge (/verify/badge) on your own site.
Orientation
core/ cryptographic log (RFC 6962), receipts (DSSE/Ed25519), checkpoints ·
proxy/ recorder/ mcpwrap/ sdk/ plane/otel.py capture surfaces ·
anchor/ L2 anchoring + RFC 3161 timestamps · verify/ verify-rs/ offline
verifiers · plane/ console/ report/ detect/ packs/ control plane,
console, evidence reports, detection, compliance packs · SPEC/ normative
wire formats.
Docs
Start with docs/A_BUILD.md — the execution runbook and single source of
truth for what is built and what is next; all plans (website, hardening backlog,
launch materials) are folded into its appendix. Then docs/THREAT_MODEL.md and
the per-feature notes. The four design laws are
non-negotiable: fail-open, payloads never persist, claims ≤ mechanism,
boring crypto only. The brand is Swarrm; the wire-format namespace evd/*
is frozen forever — never rename signed or anchored identifiers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swarrm-0.1.2.tar.gz.
File metadata
- Download URL: swarrm-0.1.2.tar.gz
- Upload date:
- Size: 142.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c73d6d6ccd2070ea5c0cf3cec3017c959ae5b5fccfafafc8ad8d64ebee08ff5c
|
|
| MD5 |
200ed1578c3d897ea653d68971510b00
|
|
| BLAKE2b-256 |
b34dd5a4fe0d299dd919a883ed17bf6455c21705be6488b0588d365552228c4d
|
File details
Details for the file swarrm-0.1.2-py3-none-any.whl.
File metadata
- Download URL: swarrm-0.1.2-py3-none-any.whl
- Upload date:
- Size: 111.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1ab852fcd4e80309ebb06736a0a5210dc71c038327d25e96f11ff1680d14597
|
|
| MD5 |
4373af2367c063eb55ba86185711e9e9
|
|
| BLAKE2b-256 |
b6ecfa6877785d40dbb331a09b39f883237204026a06fa38d2bc9d1cefab0ab6
|