Audkit
Pricing

You pay for volume.
Never for proof.

The cryptography is not the upgrade. Merkle commitment, publicly anchored roots, inclusion and consistency proofs, and offline verification are on every plan — including the free one. An audit log you have to pay to verify isn't an audit log.

Free

$0

The whole proof, at hobby volume. No card, no trial clock.

Events25,000per month
Projects1
Team3seats
Retention90 dayscapped
Start logging

Pro

$49/ month

Production volume, metered overages, and the controls a team needs.

Events250,000then $0.20 / 1,000
Projects10
Team10seats
Retention7 yearsor forever
Adds
Long retention
Keep the record for seven years, or forever. Free projects are capped at 90 days.
Metered overage
Go past 250,000 events and the extra bill at $0.20 per 1,000 — the plan's own blended rate, not a penalty for growing.
Upgrade

On every plan

Merkle-committed
Every event is sequenced and appended to a per-project RFC 6962 tree before the write is acknowledged.
Publicly anchored
Signed roots are published hourly to Sigstore Rekor — a log Audkit cannot reach.
Proofs on demand
Inclusion and consistency proofs over the API, verified per RFC 9162.
Verifiable offline
The audkit CLI rebuilds the tree from an export and checks it without touching our servers.
Append-only in Postgres
Database triggers reject UPDATE, DELETE and TRUNCATE outright.
Export and stream
CSV and NDJSON export, webhook alerts, and a live dashboard.
Customer-held signing keys
Sign events with your own Ed25519 key. Audkit stores only the public half, so it cannot mint an event in your name — which is only worth claiming if we don't charge you for it.
Organizations
Shared projects, member roles, and invitations, up to your plan's seats.
How metering works

Events are metered as they are sealed — one event, one unit, at the moment it is committed to the tree. Nothing else is metered: storage is shown to you as a live figure but never billed, since it only re-measures the events you have already paid for.

Overages are billed per unit rather than as a forced plan jump.