The evidence layer for AI-written code

What the model produced, against which requirement, verified — sealed when it happened.

A chain that verifies offline, with no server in the loop. The artefact you ship is the artefact an auditor reads.

Apache‑2.0 · BLAKE3 + Ed25519 · no account, no network to verify

verify-chain
overall_ok : true
total_entries : 4
trust_mode    : pinned-leaf
proves : chain integrity AND signer identity, AND that no entry was removed from the end

The problem, as the market states it

Your compliance framework assumes a person understood the code.

SOC 2, HIPAA, IEC 62304 and the rest were written for code a human wrote and a human reviewed. AI-generated code strains that assumption, and auditors are starting to ask.

The sharper version of the problem: when the model writes both the implementation and the tests, the coverage reflects the model's reading of the requirement — not an independent check of it. A number that looks like verification, produced by the thing being verified.

Litatoli records the difference. Structural findings computed from a typed code graph are a different number from what a model claims, and that difference is what an auditor needs to see.

The rule everything else follows from

Litatoli proves code it did not generate.

It is tied to no code generator. Point it at output from Copilot, Cursor, Claude Code, an in-house agent, or a person.

This is not a feature list item. A tool that both produces an artefact and vouches for it is worth less to an auditor than one that hands the record to something else — so independence is where the value actually comes from.

It is why Litatoli is not part of an IDE, and why it will not become one.

What you get

A chain, not a report.

Requirement → generation → structural check → commit. Each link hashed with BLAKE3 and sealed with Ed25519, so one changed byte breaks verification.

from nothing to a sealed chain
$ litatoli keygen
$ echo "$result" | litatoli attest --log-file evidence.jsonl
$ litatoli checkpoint --log-file evidence.jsonl
$ litatoli verify-chain --log-file evidence.jsonl \
--expected-pubkey <key> --expected-head <head>

Verification needs nothing. No key, no account, no network, no Litatoli server. That is what makes the artefact usable in an air-gapped estate, and what lets an auditor check it years later without asking anyone's permission.

The evidence format is specified in full — precisely enough that a second, independent verifier already exists in Python, written against the spec and using none of our code.

The part most tools do not tell you

A signed log can still be an incomplete one.

Cut entries off the end and everything still checks out: the sequence still runs 1..n, every link still matches, every signature is still genuine — because nothing was forged. Something was removed, and removal leaves no trace inside the file.

Litatoli says so, in the result rather than in a manual. A verification that did not establish completeness reports exactly that, and warns.

Two things close it, both of them outside the file. Pin the head you recorded when the log was closed. Or use a witness — an external registry that only ever moves a chain forward, so a shortened log arrives behind what the witness already saw, and is refused.

The witness is also what gives an auditor a signature that did not come from you. A chain you signed yourself is self-attestation; a countersignature either happened or it did not, and no copy of the software can manufacture one.

Built in the open

The engine is Apache‑2.0, and stays that way.

You should not have to trust us to check your own evidence. The format is published, the verifier is open, and an independent implementation already exists.

What is paid is what a copy of the code cannot give you: the countersignature, the clause mappings and rules that keep arriving as standards revise, and the support a regulated buyer's procurement requires.

Everything else stays open. You can run the whole engine, produce chains, and verify them, for nothing and for ever — see pricing.

Priced per organisation, not per seat

The engine is free. What you pay for is the signature you cannot produce yourself.

Litatoli is not a tool every developer opens — it runs in CI and is read by auditors. Charging per seat would tax you for people who never touch it.

Prism

Self-hosted · evaluation
€0
free, and staying free
  • The full engine, Apache‑2.0
  • Unlimited chains, verified offline
  • Your own local witness
  • 7-day hosted retention · 100 entries/day
Get it

Alchemy

The countersignature
€149
/ month
  • Everything in Prism
  • Managed witness — heads signed by a key you do not hold
  • Signed compliance reports
  • 30-day hosted retention · 1 000 entries/day
Request access
For a certification

Harmony

Audit-ready
€449
/ month
  • Everything in Alchemy
  • Audit export — the pack you hand an assessor
  • Team workspaces
  • 90-day hosted retention · 10 000 entries/day
Request access
Single-tenant

Sovereignty

Your region, or your perimeter
Annual
contact us
  • Everything in Harmony
  • Dedicated deployment · air-gap supported
  • Negotiated retention · no rate limits
  • Custom SLA and audit assistance
Contact us

Retention applies to the hosted service, not to your evidence. A chain is a file. You keep it, you verify it offline, and nothing here expires it. What the hosted tiers hold is the aggregate you query and the pack you export.

Countersignatures are never deleted. A witnessed head recorded three years ago is still there and still checkable — a countersignature that expired would not have been one.

Launch pricing. If it is wrong for your situation, say so — we would rather hear it now than model it.

Two ways to start

Read the format, or read a real chain.

\n\n\n