EU AI Act, Articles 12 and 13
Article 12 of the EU AI Act requires high-risk AI systems to technically allow the automatic recording of events ("logs") over their lifetime. Article 13 requires those systems to be designed for transparency and to come with instructions for use. These are obligations of the system's provider, and Articles 19 and 26(6) require providers and deployers to keep the logs. This page describes how Verdifax records can support those parties' own record-keeping.
Maturity note. Hardware attestation graduated to a real, run-bound AMD SEV-SNP quote on 2026-07-17 on deployments with an attestation agent; runs on the hosted service still carry the hardware-attestation scaffold flag, because the hosted service runs without one. Three other scaffold flags remain on every run: the timing declarations, the zero-knowledge transcript, and its state-prover binding. Every audit bundle flags these with a
scaffoldfield; the open-source verifier surfaces them in its report. See /concepts/scaffold-gaps/ for the full disclosure list and what activates each. Rows in the crosswalk below that depend on scaffold layers are flagged inline.
What Articles 12 and 13 actually say
Article 12 (record-keeping) is the provision closest to what Verdifax does. It requires that high-risk AI systems technically allow for the automatic recording of events ("logs") over the lifetime of the system. Under Article 12(2), the logging capabilities must enable the recording of events relevant for identifying situations that may present a risk or involve a substantial modification, for the post-market monitoring referred to in Article 72, and for the deployer's monitoring of the system's operation under Article 26(5). Article 16 makes the provider of the high-risk AI system responsible for meeting this requirement.
Article 13 (transparency) is a related, secondary obligation. It requires that high-risk AI systems be designed and developed so that:
- Their operation is sufficiently transparent to enable deployers to interpret outputs and use them appropriately.
- They are accompanied by instructions for use that include the system's intended purpose, capabilities, performance, and known limitations.
Article 13 binds the provider. Where relevant, Article 13(3)(f) requires the instructions for use to describe the mechanisms that allow deployers to properly collect, store and interpret the logs.
Articles 19 and 26(6) (log retention) require providers and deployers, respectively, to keep the automatically generated logs under their control for at least six months, subject to other Union or national law, in particular data protection law. Tamper-evidence is not itself an Article 12 requirement. It affects how much weight a reviewer can give a log that a provider or deployer keeps.
When these obligations apply
Regulation (EU) 2026/1744 amended the Act's timetable. The high-risk obligations, including Articles 12, 13, 19 and 26, apply from 2 December 2027 for high-risk AI systems listed in Annex III and from 2 August 2028 for high-risk AI systems covered by Annex I. [Pending review by counsel: dates confirmed against the Official Journal text]
Where Verdifax fits
Verdifax does not write the instructions for use. It does not interpret model output. Verdifax is not the provider or the deployer of your high-risk AI system, so the obligations in Articles 12, 13, 19 and 26(6) rest with you, not with Verdifax. Using Verdifax does not by itself establish compliance with any of them.
What Verdifax does provide is an integrity layer for the events your system chooses to send it: Verdifax produces sealed records of those events, with hashes published in a public transparency log. On records sealed from run 238 on, a second public-log entry binds a digest of every section of the record; from run 239 on, deleting that entry fails verification, so a reviewer can check that no section has changed since anchoring. On earlier leaf v5 records, the public-log entry binds the run's identity and its 33 pre-anchor values, which include the attested decision, the AIVP governance result, the payload hash, the actor and the scaffold flags; their descriptive sections (outcome summary, request substance, authorization and approval chain, real-world effects, system provenance) are sealed by hashes inside the bundle but are not bound to the public log, so they show the bundle is internally consistent, not that a party able to rewrite the whole bundle has not changed them. [Pending review by counsel: whether and how a provider can rely on Verdifax as part of meeting Article 12, including through a supplier agreement under Article 25(4).] The rows below show how that capability relates to Article 12 record-keeping:
| Record-keeping need | Verdifax contribution |
|---|---|
| Automatic event logs | Every call your system sends to Verdifax is sealed under a manifest hash. Which events are logged is the provider's design choice |
| Tamper-evident records | The manifest hash collapses every sealed manifest field under SHA-256, and the public log binds every section of records sealed from run 239 on and the 33 pre-anchor values of leaf v5 records sealed before run 238; a change to anything anchored no longer matches its public-log entry. Run 238 also carries the complete-record entry, but deleting it only lowers the verdict to partial coverage. The descriptive sections of records sealed before run 238 are not bound to the public log. Since verifier 0.12.0, a public-log entry counts only if it is signed with a published Verdifax log-signing key and the timestamp the log signs for it verifies, so a rewritten record that anyone else logs as a new entry fails. Verdifax holds that key. From run 240 on, each record seals a 600-second anchoring window, so a later re-log, even by Verdifax, fails or must carry a new sealed date; earlier records show their authenticated anchoring time but cannot fail on it. |
| Reproducibility for post-market review | Every section hash and the anchored public-log leaves recompute byte-for-byte from the audit bundle's own fields, and every section is bound to the same manifest hash, so a reviewer can, long after the fact, recompute the anchored values, compare them with the public log, and confirm the bundle is internally consistent. Pinned-clock replay reproduces the manifest hash (POST /execute/verify-determinism); production records verify by recomputation, and two separate submissions of the same inputs are distinct records with different hashes |
| Independent verification | Anyone holding the run's audit bundle can check it offline with the open-source verifier, without contacting the operator's servers |
| Public-log anchoring | Every successful run is committed to the Sigstore Rekor public transparency log, third parties can independently confirm the run existed at a specific time |
| Hardware-anchored attestation | On deployments with a hardware agent, every run binds a real AMD SEV-SNP quote inside its execution record, verified against AMD's pinned Milan root before sealing (graduated from scaffold on 2026-07-17; record-bound since 2026-10-02). The hosted service runs without an agent today. SEV-SNP is 1 of 3 planned platforms; TPM2 and Nitro Enclaves remain pending. See scaffold-gaps |
For Article 13 (transparency), which is the provider's obligation, the generated audit-pack PDF renders the sealed record in a form an oversight body can read. A provider can draw on it when describing log handling in its instructions for use. It does not by itself meet Article 13.
Sample audit response
When a market surveillance authority asks a provider or deployer for evidence that a specific decision was made by its high-risk AI system, the response can include:
- The original input (or its hash, if PII is at issue)
- The Verdifax manifest hash for that decision
- The run's sealed audit bundle, from
GET /runs/{id}/artifacts - Optional: the generated PDF audit report from
/runs/{id}/report.pdf, which includes the regulatory mapping section
The regulator runs the open-source verifier, verdifax-verify, over the bundle. Offline, it recomputes every section hash and the anchored public-log leaves from the bundle's own fields and confirms every section is bound to the bundle's manifest hash, which the regulator compares with item 2. The check places no trust in the operator's servers.
What this does not cover
- Annex IV technical documentation, Verdifax does not generate this. Your governance team writes it.
- Conformity assessment, this is the provider's procedure. Verdifax records are not a conformity assessment and do not give rise to a presumption of conformity.
- Log retention period (Articles 19 and 26(6)), the period is the provider's and deployer's decision. The hosted Verdifax service currently has no deletion jobs and keeps sealed records indefinitely.
- Risk management system (Article 9), separate obligation.
- Data governance (Article 10), Verdifax does not see training data.
- Human oversight (Article 14), Verdifax records what happened; it doesn't enforce who was reviewing.
