v0.2.0 · MIT · Local-first

The receipts your AI
should have been generating.

EU AI Act Article 12 · HIPAA 2025 Security Rule · Free forever for local use

A drop-in proxy that captures every AI call, signs it locally with Ed25519, and hash-links it to the last one. Hand an auditor a portable bundle. They verify it on a clean laptop without you in the room.

~300 receipts/sec sign · ~1900 receipts/sec verify · zero network required
dontlie verify --verbose verified
chain v2 · 3 receipts · key 1923055d6da006b5 ✓ payload_hash ok b4bd9719…2a0086 ✓ signature ok Ed25519 pbin34AS…nCDg== ✓ parent_link ok → 8d5c1035…841ca ✓ key_history ok 1 of 1 active ✓ chain_walk ok 3/3 receipts intact → export proof report
EU AI Act · Texas TRAIGA · SOC 2 Type II · HIPAA · GDPR · ISO 27001 · OpenAI · Anthropic · MiniMax · 200+ providers · Ed25519 · SHA-256 · chain v2 · EU AI Act · Texas TRAIGA · SOC 2 Type II · HIPAA · GDPR · ISO 27001 · OpenAI · Anthropic · MiniMax · 200+ providers · Ed25519 · SHA-256 · chain v2 ·
The honest claim

What a receipt proves — and what it doesn't.

The wedge is honesty. We don't claim AI is truthful. We claim that what was recorded, by which key, from which route, was signed locally and is now tamper-evident. That's the audit defensible infrastructure needs.

proved Integrity + signer + provider + chain
  • The receipt was signed by the documented key.
    Ed25519, retained public key, chain-v2 continuity.
  • The chain is unbroken from the first receipt.
    SHA-256 parent links. Tampering breaks verification immediately.
  • The bundle matches the receipts you handed over.
    A clean machine can verify without your infrastructure.
  • Each receipt binds the exact bytes you sent and received.
    Full forensic capture of request body and response.
not established By design — this is the wedge
  • Whether the model answer is correct.
    Hallucinations are recorded faithfully. That's the point.
  • Whether the upstream provider is the one claimed.
    We record the route. Trust the provider separately.
  • Which person or organization held the signing key.
    Pin keys externally with --public-key.
  • Content semantics beyond the bytes.
    Don't-Lie is a notary, not a judge.
Five minutes to prove

One line of code. Zero refactor.

Don't-Lie is a loopback OpenAI-compatible proxy. Point your existing client at a local URL and every call becomes a signed receipt. No SDK changes. No schema migration.

your-app.py
# Before $ openai.api_base = "https://api.openai.com/v1" # After (one line) $ openai.api_base = "http://localhost:8080/v1" # Done. Every call is now a signed receipt. $ response = openai.ChatCompletion.create( model="gpt-4o", messages=[{ "role": "user", "content": "Summarize this contract." }]) → receipt #142 stored, signed, chained
✗ verify #145 payload_hash mismatch expected: a7c4ee02…d9c1f computed: 8e12bb4d…0a5e9
What you get

Built for the moment an auditor asks.

Most AI logging tools optimize for debugging. Don't-Lie optimizes for the day your customer, your lawyer, or your regulator asks for evidence and you need to produce it in under a minute.

Ed25519-signed receipts

Every call signed locally with a key you control. Public keys retained for offline verification. No phone-home, no cloud.

Hash-linked chain

Each receipt SHA-256-links to the previous one. Tamper one byte out of place and verification fails instantly, with the exact byte flagged.

Portable bundles

Export a self-contained signed bundle. Anyone with Python can verify it offline — no Don't-Lie server, no private key, no your-company-network.

30-second install

pip install dontlie. No Docker. No cloud. No accounts. The offline demo runs in 30 seconds with zero API keys.

HTML proof report

A self-contained HTML report clearly separates integrity, signer, provider, and truth claims. Hand it to a non-technical reviewer.

OpenAI-compatible

Drop-in for the OpenAI, Anthropic, MiniMax, LangChain, and LlamaIndex SDKs. Any client that speaks OpenAI's wire format works unchanged.

Secret redaction

API keys, emails, SSNs, credit cards, JWTs — redacted before they ever hit the signed receipt. The redacted value is what gets hashed.

Works with 200+ models

OpenAI, Anthropic, MiniMax, Gemini, Llama, Mistral, any local model. One receipt format, one verifier, regardless of provider.

Audit-ready reports

One-page HTML document with everything an auditor needs: signatures, hashes, chain, key fingerprints, and the explicit list of what is NOT proved.

Try it now

30 seconds from zero to a verified receipt.

No Docker. No cloud. No API keys. The offline demo uses a local mock provider so you can prove the chain on a plane.

~ your terminal
$ pip install dontlie Successfully installed dontlie-0.2.0 $ bash demo/scripts/run_offline_demo.sh ✓ Captured 3 receipts ✓ Signed receipt chain ✓ Verified 3/3 receipts $ python3 demo/scripts/tamper_walkthrough.py demo/work ⚠ Tampered receipt #2 ✗ Verification failed ✓ Restored from signed export ✓ Verified 3/3 again $ python3 demo/scripts/render_report.py demo/work/receipts.bundle.json report.html → open report.html
Pricing

Free forever for local use.

The integrity, signer, provider, and chain claims are never paywalled. Pay only when you want us to operate the hosted layer for you.

Free · Local
$0/forever
For solo developers, OSS maintainers, and evaluators.
  • Unlimited local receipts
  • Open source, MIT
  • Self-host everything
  • Offline verification
  • HTML proof reports
Pro
$49/mo
For solo founders shipping into compliance-adjacent verticals. Hosted proxy, anchored monthly, 12-month retention.
  • Everything in Free
  • Hosted proxy, no babysit
  • Encrypted-at-rest vault
  • 12-month retention
  • Email support
Compliance / On-prem
Email us
For regulated teams shipping in healthcare, legal, finance. SSO, SAML, DPA, BAA, on-prem binary. We will tell you honestly when we can deliver.
  • Everything in Team
  • SSO/SAML, SCIM
  • External timestamp anchoring
  • Compliance templates
  • Custom SLA
  • DPA, BAA available

All paid tiers include a 14-day evaluation. Receipts you generate during evaluation remain exportable as signed bundles regardless of which tier you ultimately choose.

Stop guessing what your AI said yesterday.

A 30-second offline demo. No API keys. No signup. Just a signed receipt and a chain you can tamper with to see exactly what fails.

Run the demo Star on GitHub