Audit logs for teams that ship.
Every action, every actor, every resource — captured at the edge, queryable in milliseconds, retained for as long as your auditors say. Ledgerline is the audit trail you would build yourself, if you had a quarter to spare.
npm i @ledgerline/sdk · 14-day trial · no card required
| Time | Actor | Action · resource | Result |
|---|---|---|---|
| 14:02:11 | Mara Okafor |
user.role.updateorg/acme/members
|
ok |
| 14:01:58 | ci-bot |
deploy.createsvc/api-gateway
|
ok |
| 13:59:40 | Jonas Feld |
secret.rotatevault/prod/db
|
ok |
| 13:58:03 | Priya Natarajan |
billing.plan.changeorg/acme
|
review |
| 13:57:22 | 203.0.113.9 |
auth.login.failsso/okta
|
denied |
Trusted by engineering teams at
- NORTHWIND
- kestrel_labs
- quorum.io
- HALYARD
- Oberon Systems
- tessellate
Product
Built for the audit you have not been asked for yet.
One SDK call per event. Ledgerline does the rest: capture, sign, index, retain, and hand your compliance lead a report before they finish asking.
Events are accepted at 34 points of presence and acknowledged in under 30 ms. Nothing sits in a queue on your side of the wire.
A columnar index over actor, action, and resource. Ask “who touched prod secrets in March?” and get an answer, not a job id.
Every batch is hash-chained and signed. Verify any range offline with the open
ledgerline verify tool — no account needed.
Pick SOC 2, ISO 27001, HIPAA, or your own schedule per project. Legal holds freeze ranges without touching the rest.
Stream to your SIEM, park Parquet in your own bucket, or pull a signed PDF for the auditor who still prefers paper.
SAML and OIDC on every plan since 2.0. Viewer, auditor, and admin roles, scoped per project, provisioned with SCIM.
Integration
Wired in an afternoon.
Drop the SDK next to your existing logger. Ledgerline batches, retries, and signs on the client, so a flaky network never costs you an event.
- Node, Go, Python, Rust, and a plain HTTP API
- Typed event schemas, generated from your catalog
- Terraform provider for projects and policies
import { Ledgerline } from '@ledgerline/sdk'
const audit = new Ledgerline({ project: 'acme-prod' })
await audit.record({
actor: req.user.id,
action: 'user.role.update',
resource: 'org/acme/members/' + target.id,
meta: { from: 'viewer', to: 'admin' },
})
// → ack in 27ms · batch #a91f · signed
Pricing
Pay for seats, not for volume.
Unlimited events on every plan. Switch billing periods any time; yearly plans are billed up front and save about 20%.
0 per seat / month
free forever · up to 3 seats
- Unlimited events
- 30-day retention
- 1 project
- Community support
29 per seat / month
billed monthly
- Everything in Starter
- 400-day retention
- Unlimited projects
- SSO (SAML / OIDC) + SCIM
- SIEM and bucket exports
- Email support, 1 business day
Custom annual contract
volume pricing from 50 seats
- Everything in Team
- Custom retention and legal holds
- Single-tenant or EU region
- Signed audit packs (SOC 2, ISO)
- 99.99% SLA, named engineer
FAQ
Questions, answered.
Yes. We meter seats, not volume. The only soft limit is a fair-use ceiling of 50,000 events per second per project — above that we will ask you to talk to us about a dedicated ingest pool, and we will not bill you for the overage while we do.
You pick a home region per project at creation time: US-East, EU-Central, or AP-Southeast. Events are accepted at the nearest edge and forwarded to the home region; nothing is retained at the edge beyond the acknowledgement window.
That is the point. Each batch carries the hash of the previous one and a
signature from a key you can pin. The ledgerline verify CLI is
open source and works on an exported range with no network access.
Your project drops to the Starter plan. Ingest keeps working, retention shrinks to 30 days going forward, and seats beyond three become read-only. We never delete history during the downgrade.
Not as a product. Enterprise customers can run a single-tenant deployment in their own cloud account that we operate, and the export formats are documented so you are never locked in.
Customers
What shipping teams say.
“Our SOC 2 auditor asked for six months of privileged-access history. I pasted a query and had a signed PDF before the call ended.”
“We replaced a home-grown Kafka topic, two Lambdas, and a spreadsheet. The SDK was one afternoon; the peace of mind was immediate.”
“The hash chain is what sold legal. They can verify a range on a laptop with no account and no network. That conversation used to take weeks.”
Ship the audit trail this sprint.
Free for three seats. No card, no sales call, no Kafka.