The EU AI Act came into force in stages between 2024 and 2027. The high-risk-system obligations under Article 16 are the part your AI team should fear. To deploy a high-risk system in the EU, you owe the market — and any notified body that asks — a documentation package described in Annex IV: a model card, training-data lineage, bias test results, an Article 9 risk register, Article 14 human-oversight logs, and Article 13 transparency disclosures.
Most AI teams have fragments of this. The model card is in a Notion page someone updated when they remembered. The training-data fingerprints are in S3 if anyone thought to compute them. The bias tests ran in a notebook nobody can find. The risk register lives in the head of the ML lead who left in March.
When the notified body asks for the package — as it stood at deployment — most teams discover they can't produce it. The fine for non-conformance reaches seven percent of global revenue, or €35 million, whichever is higher.
What Annex IV actually demands
Read carefully, Annex IV asks for five reconstructions:
- The model. Not the current version — the version that was deployed. With its card. With its biases. With its limitations.
- The training data. Provenance, license attestations, representativeness, exclusion logs. Article 10 makes data governance a first-class obligation.
- The risk register. Article 9 requires you to identify, mitigate, and test each risk before deployment. The chain has to prove the ordering.
- Bias and accuracy testing. Reproducible, signed, and tied to the model version that was deployed.
- Human oversight. Article 14 wants logs of the oversight policy as it was operationally in force.
If those five things are stored in five different tools, the reconstruction is a 60-day project. If they're stored in one bitemporal graph, it's one query.
The one-query reconstruction
MATCH (m:Model) AT RECORDED '2026-02-04T00:00:00Z'
WHERE m.system_id = 'AS-1138'
OPTIONAL MATCH (m)-[:TRAINED_ON]->(d:Dataset) AT RECORDED '2026-02-04T00:00:00Z'
OPTIONAL MATCH (m)-[:HAS_RISK]->(r:Risk) AT RECORDED '2026-02-04T00:00:00Z'
OPTIONAL MATCH (m)-[:BIAS_TESTED_BY]->(b:BiasTest) AT RECORDED '2026-02-04T00:00:00Z'
OPTIONAL MATCH (m)-[:UNDER_OVERSIGHT]->(o:Policy) AT RECORDED '2026-02-04T00:00:00Z'
RETURN m, collect(d), collect(r), collect(b), collect(o)
Each MATCH clause reads the graph as it was recorded on the deployment date: the model's properties, its training datasets, its risks with mitigations and tests, its bias test results, and its oversight policies. In this illustrative example that is three training datasets, twelve risks, and three oversight policies.
The Article 9 ordering record
The assessor's harder question is whether each risk was actually mitigated before deployment. Each risk, mitigation and test is a separate write with its own recorded time, so the AT RECORDED query above shows which mitigations existed on the deployment date, and db.history on a node lists when each version was written. GET /graphs/{name}/audit/verify re-hashes the graph’s write history and returns clean or the first broken record. The check covers the whole graph and has no date window. The history log is not signed or anchored outside the server, so the check does not detect a rewrite of the whole log, or removal of the most recent records, by someone with write access to the server.
The Article 10 lineage
db.derivedFrom('model:AS-1138', 2) follows DERIVED_FROM edges from the model to the sources recorded for it: each training dataset, with the sha256 fingerprint, license attestation, representativeness analysis and sensitive-attribute exclusion log stored on it.
The Article 22 GDPR overlap
While the AI Act conformity assessment is in flight, a user invokes Article 22 of the GDPR — the right to challenge an automated decision. The same queries answer the user's request: the model version they got, the inputs recorded for the decision, and the rule that fired.
The numbers
The figures in this post and in the walkthrough are illustrative. The queries above return the documentation as it was recorded at deployment and show when each part of it was written.
If the model's documentation is written to the graph as the work happens, the Annex IV package can be assembled from it rather than reconstructed afterwards.