Two obligations ask you to account for training data: Art. 53(1)(d) for GPAI model providers, enforceable from 2 August 2026, and Art. 10–12 for high-risk Annex III systems, from 2 December 2027. Both come down to the same question — which exact bytes, from where. SURFRAME turns your training sets into signed, tamper-evident containers, and exports the evidence pack in one command.
surx export data.surx --format ai-act · copyApache-2.0 · verification is free, forever · read the threat model
An evidence pack maps directly onto the data requirements a notified body or internal auditor will check. It states what the evidence proves — never more.
| AI Act requirement | What the evidence pack contains |
|---|---|
| Art. 10(2) — data governance: origin, collection and processing operations | Producer declarations (purpose, sources, licensing) plus every transformation event in the container's audit_chain/, hash-linked and signature-anchored |
| Art. 12 — automatic, traceable record-keeping across the lifecycle | A verbatim copy of the append-only audit log. Events present when the container was signed are covered by the Ed25519 signature, so rewriting that history is caught. Events appended after signing are chain-consistent but not authenticated — verify counts them separately and fails closed by default |
| Art. 11 / Annex IV(2)(d) — technical documentation of the datasets | EVIDENCE.json: schema, row counts, partitions, SHA-256 of the exact bytes, signer identity and signing time |
| Art. 53(1)(d) — public summary of training content, GPAI providers | Not the summary itself — that is a public document you write, on the Commission's template. What you get is the per-dataset record you draw it from: declared sources and licensing, and a signed hash of the exact bytes, so a disclosure can be tied to a specific artifact instead of a folder name |
| Third-party verifiability | VERIFY.md — auditor instructions. Offline, open source, exit-code based. No access to your infrastructure required. |
The pack refuses to generate if verification fails. This tool cannot produce evidence for tampered data — that's the point.
# 1 · sign the container you already ship surx sign trainset.surx --key team.key --signer data-gov # 2 · export the evidence pack surx export trainset.surx --format ai-act \ -d "purpose=Training data, credit scoring model v3" \ -d "license=CC-BY-4.0" -d "contact=data-gov@company.com" # 3 · what the auditor runs — no account, no server, no trust surx verify trainset.surx --pubkey team.pub # exit 0 = intact sha256sum -c evidence_pack/checksums.txt # every file OK
Editable after the fact, by anyone, without trace. They describe the dataset — they cannot prove the description matches the bytes that trained the model.
Lives inside your infrastructure. Verifying it means trusting your database — which is exactly what an independent audit cannot do.
The evidence is the artifact itself. Ed25519 signature over every entry, append-only audit chain, offline verification that names the exact file that changed.
You need pip install surframe and the instructions inside VERIFY.md. Verification is free and always will be — for auditors, notified bodies and recipients.
pip install surframe · copy