TLE
2026/05/25–001
Log
attestly.org
Tree size
1
Root
4e074085…9b49fce
Sig
ED25519(b2bce81f…)

Attestly

Open verification infrastructure for high-risk artificial intelligence

A Statement of the Problem

The EU AI Act compels every high-risk system to keep a complete log of its decisions. It does not compel that the log be trustworthy — and today, no off-the-shelf technology makes it so.

Twenty-seven-second screencast: an Attestly evidence bundle verifies on legitimate data, then fails with a precise hash mismatch when the underlying record is altered after the fact.
Plate I.End-to-end cryptographic tamper detection. A regulator's evidence bundle verifies on legitimate data; the same bundle fails — with the precise hash mismatch reported — when the operator alters the database after the fact.

§ 1 · The Statute

Article 12 mandates the log. It does not mandate trust in the log.

From 2 August 2026, every high-risk AI system placed on the EU market — credit scoring, hiring, biometric identification, employment, essential services, law enforcement, migration, justice1 — must maintain automatic logs over its lifecycle.

The legal text says the logs must exist. It is silent on whether the logs can be trusted. Today a company can edit its own audit trail before a regulator inspects it, and there is no technical means by which the regulator can detect the edit. Penalties for record-keeping failures reach €15 million or 3% of global turnover.

Attestly is the integrity layer the regulation forgot to specify — published as open digital base infrastructure, not as a vendor product.

§ 2 · The Library

Three primitives. One drop-in.

ArticleILedger

Append-only signed events

Every AI decision is canonicalised, hashed, signed with the system's Ed25519 key, and appended to a hash-chained ledger. Database triggers enforce append-only at the SQL layer; cryptographic chaining enforces it at the storage layer.

SHA-256  ·  Ed25519  ·  SQLite WAL  ·  PostgreSQL row-level append constraint

ArticleIICommitment

Public Signed Tree Heads

Merkle roots are periodically published to a transparency log as signed commitments — never the underlying decisions. The Signed Tree Head is the only data that touches public infrastructure. The decisions remain private to the operator.

RFC 9162  ·  Sigstore Rekor compatible  ·  GDPR-safe by construction

ArticleIIIVerifier

Regulator-runnable, no operator trust

A standalone CLI and a browser-WASM verifier. A regulator drops an exported evidence bundle into the tool and receives a mathematical verdict — independent of the operator's claims, independent of any vendor.

Single-binary CLI  ·  WASM verifier under 500 KB  ·  Reproducible builds

§ 3 · Access

Five minutes to a verifiable demo.

Rust 1.85 or newer. SQLite bundled. No other runtime dependencies. The end-to-end demo runs cleanly on Linux, macOS, and Windows.

# Clone the sourcegit clone https://github.com/attestly/attestlycd attestlycargo build --release# Run the end-to-end verification demobash examples/demo.sh# Windows equivalentpwsh examples\demo.ps1
SurfaceStateNotes
attestly-core · Rust libraryv0.1.0 · active20 tests passing. CI: Linux · macOS · Windows.
attestly-verify · CLI verifierv0.1.0 · activeSingle static binary; reproducible build.
WASM browser verifierin developmentDrag-bundle-and-verify UX for regulators.
Production transparency log (Tessera)scheduledPending grant outcomes.
Independent security auditscheduledEU-based firm; commissioned upon grant award.

§ 4 · Cross-References

Grounding.

Attestly is designed against the EU regulatory text and the international evidentiary standards a court will reference. The architecture is conventional and prior-art-supported: Merkle's 1979 binary authentication tree4, Haber & Stornetta's 1991 cryptographic time-stamping5, the Certificate Transparency model from 20136, and the Sigstore Rekor model from 20217.

Attestly's contribution is the binding to Article 12 evidentiary requirements — not novel cryptography. That is the right choice for regulator confidence: a court should not be asked to assess a new primitive.