AuditRailsAuditRails

EU AI Act audit logging requirements (Article 12) and how to satisfy them

The EU AI Act's Article 12 requires high-risk AI systems to automatically record events over their full lifetime, ensuring traceability. This page covers exactly what Article 12 requires, the real enforcement timeline, and how AuditRails' hash-chained logs satisfy it.

The control

EU AI Act Article 12: Automatic Recording of Events (Logs)

Regulation (EU) 2024/1689

High-risk AI systems shall technically allow for the automatic recording of events ("logs") over the lifetime of the system, ensuring traceability of operation.

Regulation (EU) 2026/1744 (the Digital Omnibus, in force 27 July 2026) deferred Annex III high-risk obligations: which is where Article 12 lives: to 2 December 2027, and Annex I to 2 August 2028. Article 50's transparency obligations were not deferred. If your system is high-risk under Annex III, Article 12 is real but not a 2026 deadline; build the logging now and you won't be scrambling in 2027.

What an auditor asks for

A notified body or market surveillance authority reviewing a high-risk AI system wants proof that every model inference is automatically recorded with enough detail to reconstruct what the system did and why, not a design document asserting that logging is planned.

Retention requirement

AuditRails retains EU AI Act audit logs for a minimum of 10 years by default: the longest retention window of any framework we support, matching Article 12's full-lifetime traceability expectation. Retention extends automatically if you're also subscribed to a framework with a longer requirement.

What AuditRails captures

Model-inference events capture the model version, input/output hashes, risk tier, and whether human oversight was involved, not just "the model ran," but the specific fields Article 12 traceability actually needs.

import { AuditRails } from '@auditrails/node';

const audit = new AuditRails({ apiKey: 'at_live_...' });

await audit.log({
  action: 'aiact.model_inference_logged',
  actor_id: '...', // required
  resource: '...', // required
  metadata: {
    system_id: '...', // required
    model_id: '...', // required
    input_hash: '...', // optional
    output_hash: '...', // optional
    latency_ms: '...', // optional
    risk_tier: '...', // optional
    model_version: '...', // optional
    prompt_ref: '...', // optional
    decision: '...', // optional
    human_oversight: '...', // optional
  }
});

What you hand your auditor

Generate an evidence bundle for your audit window and you get a zip containing a PDF summary report, the full event log as NDJSON, and a manifest with SHA-256 checksums of both files plus a hash-chain proof: evidence you can hand directly to a notified body or market surveillance authority, not a design claim they have to take on faith.

Common ways teams fail this control

  • Logging that inference happened, but not the model version or input/output hashes. Article 12 traceability needs to reconstruct what the system did, not just that it ran.
  • No human-oversight field on inference events, when Article 14's oversight requirements and Article 12's logging are meant to work together, not as separate, disconnected controls.
  • Retention shorter than the system's actual operational lifetime, missing Article 12's explicit "over the lifetime of the system" language.
  • Building logging only after a system is classified high-risk and the compliance deadline is close, rather than from the start: retrofitting traceability into a system already in production is far harder than building it in from day one.
  • No consistent system_id/model_id across logged events, making it impossible to reconstruct a single system's full operational history when an authority asks for it.

Frequently asked questions

Does AuditRails make us EU AI Act compliant?

No single tool does. AuditRails gives you the Article 12 automatic-recording evidence: the rest of AI Act compliance (risk classification, conformity assessment, human oversight design, post-market monitoring) is separate.

Is Article 12 actually enforced right now?

For high-risk systems under Annex III, no: the Digital Omnibus deferred that obligation to 2 December 2027 (Annex I systems to 2 August 2028). Article 50 transparency obligations were not deferred. The deadline moved; the requirement itself didn't disappear.

How long do I need to keep EU AI Act audit logs?

A minimum of 10 years is what AuditRails retains by default for this framework, matching Article 12's full-lifetime traceability language.

Can I verify the logs haven't been tampered with, independent of AuditRails?

Yes: we publish an open-source CLI that independently recomputes the hash chain from an export. It doesn't call our API or trust our infrastructure.

This page describes regulatory obligations for information purposes and does not constitute legal advice. Whether they apply to your organisation should be confirmed with your own advisers.