Logsiegel

Regulation (EU) 2024/1689

What the AI Act requires in terms of records, and how much of that Logsiegel covers

The AI Act is the first regulation that explicitly prescribes logging for AI systems. It says that records must be kept and for how long, but not how you later prove that the record is unaltered. That is exactly where Logsiegel starts.

Who this applies to

Providers and deployers of high-risk AI systems under Annex III (employment selection, creditworthiness, critical infrastructure, education, law enforcement, migration, for example) and under Annex I (AI as a safety component of regulated products). The application dates for high-risk systems were adjusted in 2026 as part of the Digital Omnibus; what counts is the current state of the text. If you run an agent in one of these areas today, you are better off building the logging in now than shortly before a deadline.

What the regulation requires in terms of records

The duties are spread across three articles, plus human oversight, which can only be evidenced with records:

ReferenceRequirement
Art. 12(1)High-risk AI systems must technically allow for the automatic recording of events (logs) over the lifetime of the system.
Art. 12(2)The logging must enable the traceability of the system's functioning to the extent relevant for identifying risk situations, for post-market monitoring (Art. 72) and for monitoring the operation by the deployer (Art. 26(5)).
Art. 12(3)For remote biometric identification, additionally: at least the period of each use, the reference database, the input data for which the search led to a match, and the identity of the persons who verified the results.
Art. 19Providers keep the automatically generated logs, to the extent they are under their control, for at least six months (longer where Union or national law requires it).
Art. 26(6)Deployers keep the automatically generated logs, to the extent they are under their control, likewise for at least six months.
Art. 14Human oversight: people must be able to intervene, stop the system or disregard its output. That this actually happened can only be shown with a record of the intervention.
Art. 26(5)Deployers monitor the operation on the basis of the instructions for use and inform provider and authorities about risks or serious incidents; the logs are the basis for that.

What Logsiegel contributes today

What is in progress planned

What Logsiegel does not do

  • Classification. Whether your system is high-risk is decided by Annex I and III and by your own review, not by Logsiegel.
  • Technical documentation and quality management (Art. 11, Annex IV, Art. 17) are duties of their own. Logsiegel supplies the logs these documents can point to, not the documents.
  • Completeness. What is proven is that the recorded material is unaltered, never that everything was recorded. That is an integration question: the adapter has to sit at a point every action must pass (LiteLLM today, MCP proxy in progress).
  • Protection against the deployer itself. Whoever holds the signing key could rewrite the trail and sign it again. That comes to light precisely when somebody else holds an earlier checkpoint or receipt. So hand your checkpoints out; counter-signing by an independent witness is the next stage of the project.
  • Time. Timestamps in the trail are a claim by the deployer until they are counter-signed by a witness or by a qualified timestamping service.
  • Legal assessment. Whether your system falls under the regulation, which duties apply in detail and whether a receipt is enough in a given case is decided by your legal or compliance review, not by this tool.

How to put it to work

1. Install it and create a trail

The SDK is Python, Apache 2.0, no server and no account. The origin (origin) names the system whose actions are being recorded.

pip install logsiegel
logsiegel init ./trail --origin "acme.example/support-agent"

2. Plug the adapter in at the point every action must pass

If your AI traffic runs through LiteLLM, every completion becomes a signable inference entry, and errors are recorded as an anomaly. Human interventions you record explicitly, as an event of their own.

import litellm
from logsiegel.integrations.litellm_logger import LogsiegelLogger

litellm.callbacks = [LogsiegelLogger("/var/lib/logsiegel/prod", store_payload=True)]

3. Record human interventions explicitly

Art. 14 requires that humans can intervene. Show that they did: every stop, every discarded output, every correction becomes an event of its own.

logsiegel log ./trail --event human_override \
  --attr actor="j.doe" --attr reason="Output discarded, customer advised manually"

4. Create checkpoints and hand them out

Create checkpoints regularly (via cron, for instance) and put them outside your own infrastructure: with the auditor, with the customer, in someone else's repository. Only a checkpoint you no longer control alone makes the trail hold up against yourself.

logsiegel checkpoint ./trail
logsiegel verify ./trail

5. Hand out the receipt when someone asks

Instead of database extracts you hand out a single receipt. The other side verifies it in the browser at logsiegel.com/verifier or on the command line, both offline.

logsiegel receipt ./trail --seq 1284 --out receipt.json
logsiegel verify-receipt receipt.json --pubkey logsiegel.pub

More regulations: GDPR DORA NIS2 / critical infrastructure ISO/IEC 27001 ISO/IEC 42001 GoBD eIDAS Overview

Legal status September 2026. This page is a technical assessment by the project, not legal advice and not a conformity statement. Please check the references against the current text of the law. Corrections welcome via GitHub issue.