Skip to main content

Proof of Edition

An open standard and toolset for one question: is this API really serving the model edition it says it is? Weights, quantization, engine and all.

Providers publish; anyone verifies. Nothing here depends on trusting the provider's word or on confidential-computing hardware, although hardware attestation can be layered on top (layer 5).

Layer What it is Tooling
0. Edition registry The publisher's own registry: content-addressed signed records, a transparency log and interchangeable mirrors, so nothing can be swapped or removed silently. proof_of_edition/registry/ (records, log, manifest check)
1. Edition fingerprint The edition itself answers a private set of questions in a way no other model does (Chain & Hash, Russinovich & Salem, ICLR 2026). proof_of_edition/fingerprint/ (the statistics and the verifier; the training pipeline and the private question sets stay with the publisherin on Modal, verify black-box)
2. Signed manifest + receipts The runtime signs what it serves and signs a receipt for every response: hashes of the request and the answer, the manifest, token counts. proof_of_edition/manifest/, proof_of_edition/receipts/
3. Open re-execution audit Anyone re-runs receipts on a reference deployment of the same edition and tests the answers for consistency. proof_of_edition/audit/
4. Serving bond The provider stakes value against a proven substitution. specification only, for now
5. Attestation Optional hardware attestation of the manifest. specification only, for now

The full specification is in SPEC.md. This repository is the reference implementation Lebrel runs in production: the receipts and manifests served at api.lebrel.ai, the registry behind models.lebrel.ai, and the watch behind models.lebrel.ai/watch. Not here: the fingerprint training pipeline, every private question set, and Lebrel's operational notes.

Verify a response you received

pip install proof-of-edition   # PyPI; or uv tool install proof-of-edition
curl -s https://api.lebrel.ai/.well-known/proof-of-edition > manifest.json
curl -s https://api.lebrel.ai/v1/receipts/$REQUEST_ID > receipt.json
poe-verify-receipt --public-key $PROVIDER_SIGNING_KEY \
  --manifest-file manifest.json --receipt-file receipt.json \
  --prompt-file request.json --response-file answer.txt

Exit code 0 means: both documents are signed by the pinned key, the manifest is current, the receipt references that manifest, and the digests match the request you sent and the answer you received.

Check an edition's fingerprint

poe-verify-fingerprint --base-url https://api.lebrel.ai/v1 --model lebrel/<edition> \
  --fingerprint fingerprint.private.json --k 10 --tau 2

The fingerprint file is private to whoever trained the edition; only the sampled questions are sent to the deployment. With k = 10 questions and a threshold of 2 hits, the false-positive rate against an unrelated model is negligible (see proof_of_edition/fingerprint/chainhash.py).

Audit a provider

poe-audit --samples exchanges.jsonl --manifest manifest.json --public-key $KEY \
  --reference-url https://your-reference-deployment/v1 --reference-model <edition> \
  --out report.json

Deterministic requests are compared by exact match and shared prefix; sampled requests use a paired permutation test over a Hamming kernel. See proof_of_edition/audit/reexecute.py.

Check a runtime against the registry

poe-check-manifest --manifest manifest.json --runtime-key $RUNTIME_KEY \
  --record record.json --publisher-key $PUBLISHER_KEY --log log.jsonl --checkpoint checkpoint.json

Exit code 0 means the runtime serves exactly the files the registry published for that edition revision, and the record is in the transparency log.

Build a manifest for your own edition

poe-build-manifest --edition manifest/editions/<name>.json \
  --weights-manifest /path/to/model_manifest.json --out manifest/out/<name>.manifest.json

The output is the manifest base a runtime signs at serving time. The Lebrel encrypted runtime (Go) reads it from LEBREL_SERVING_MANIFEST_JSON.

Watch the labs

proof_of_edition/watch/ probes the labs' own APIs and every host of the same model on a schedule, compares them with each other and with Lebrel's own run of the published weights, and publishes a signed board at https://models.lebrel.ai/watch: the battery, the hourly first-word fingerprint (by log-probabilities, or by sampling where a lab returns none), the published-weights references and every threshold. How each status is computed, and what it can and cannot mean, is in watch/README.md.

Development

uv run --group dev --extra reference python -m pytest

The fingerprint training pipeline and the private fingerprint files are not part of this repository; they never leave the publisher.

Contact

Questions, findings and security reports: contact@lebrel.ai. Lebrel AI LLC.

Metadata

Release files for proof-of-edition 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for proof-of-edition 0.2.1
File Size Uploaded
proof_of_edition-0.2.1.tar.gz 128.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for proof-of-edition 0.2.1
File Interpreter ABI Platform
proof_of_edition-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 246.0 kB

Release files / proof_of_edition-0.2.1.tar.gz

Download URL proof_of_edition-0.2.1.tar.gz
Size 128.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ed83353205b145c79e2567e3cfbbbad9746f064f37e1a642902995276153d6f0
BLAKE2b-256 checksum
How to use checksums
81dc31fa49d17ceb54fe7fba34f1555df812ee795a4c80956c909f760026a466
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / proof_of_edition-0.2.1-py3-none-any.whl

Download URL proof_of_edition-0.2.1-py3-none-any.whl
Size 117.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87c6ffba6728f78c8987d2f07138323cbe0f19f8b0be3c712a1db1e05346fc1d
BLAKE2b-256 checksum
How to use checksums
457edeb39aad877dda05d01272ad0667747c70b4ed7bdc1b51738d0ad8600e5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page