The EU AI Act for agent deployers
Classify your risk tier, run the assessment, or notify the authority
every questionOn this page
First, establish which role you are in, because the duties differ
The Act distributes obligations by role, and the two that matter to most organisations running agents are provider and deployer. A provider develops an AI system and places it on the market or puts it into service under its own name. A deployer uses an AI system under its own authority. If you are wiring a foundation model into an agent that answers your customers, you are almost always a deployer of that model and — depending on what you have built and how you offer it — possibly a provider of the system you assembled. That determination is a legal one about your specific arrangement, and it is the first thing to settle, because a guide written for deployers answers the wrong questions if you turn out to be a provider.
The second determination is classification. Most of the obligations discussed below attach to high-risk systems, and whether an agent of yours is high-risk depends on what it does and where it is used rather than on how it is built. This guide does not classify anything for you and no product can: a risk tier recorded in an inventory is a field carrying a decision a person made, and the value of the field is that it makes the decision reviewable rather than that it makes it.
One structural point before the article-by-article part, because getting it wrong is the thing a specialist reader spots in a sentence. Only Article 26 is a list of deployer duties. Articles 12 and 14 sit among the requirements for high-risk systems and are addressed to the provider: Article 12 says the system must be built to record events automatically, and Article 14 says it must be designed so that people can effectively oversee it. A deployer meets them from the other side — Article 26(6) says you keep the logs the system generates, and Article 26(2) says you assign the oversight to competent people. The two sides collapse into one job when you assembled the agent yourself, which is the common case for an internal agent estate, because then you are both the party that has to make the recording and the oversight exist and the party that has to keep and staff them. Cite them accordingly, and do not put Article 12 in a policy document as though a regulator would read it as your obligation.
What is worth doing regardless of how that classification lands is the evidentiary work, and the reason is practical rather than legal. The artefacts the Act asks for — an inventory, a purpose statement, automatic logs, oversight records, an integrity story — are the same artefacts you need for an ISO/IEC 42001 management system, for a NIST AI Risk Management Framework programme, for a SOC 2 evidence request about the agent estate, and for the incident you will eventually have to reconstruct. Building them once and mapping them several ways is cheaper than building them per framework, and the mapping is where most of the overclaiming happens, so map carefully.
Article 12: automatic recording of events over the system’s lifetime
Article 12 concerns the automatic recording of events — logs generated by the system itself over its lifetime, rather than a narrative somebody writes afterwards. It is a requirement on the provider, who has to build the capability in; the deployer’s matching duty is Article 26(6), to keep those logs to the extent they are under its control. If you assembled the agent, you owe both halves. For an agent estate that means a record per governed request, produced by the enforcement point rather than by the agent, because a record produced by the component under examination is a description rather than evidence.
What that record needs to contain is more specific than an application log. It needs the identity of the agent and, where one exists, the human it acted for; the model and provider that actually served the call, which may not be the one the caller asked for once routing has been applied; the tool calls it made and the arguments it made them with; the policy decisions taken and, importantly, the ones that were observed but not enforced; the tokens and cost; and the outcome, including outcomes that never reached a provider because a control refused them.
That last point does more work than it appears to. A trace that opens only for requests that succeed is a record of successes, and the interesting evidence in a governance review is the refusal: which agent tried to call which tool it did not hold a grant on, and when. Token Observe mints the trace identifier at step 3 of an eleven-step request path — before sanitisation, before the scanners and before the policy verdict — so a request blocked a millisecond later is recorded rather than missing, and the identifier comes back on a response header even on a refusal.
Be precise about the boundary, because this is where mapping tables overreach. A gateway records the request, the decision and the response metadata. It does not record hidden model reasoning; it never sees it. Token Observe stores the prompt only as a bounded post-redaction excerpt and does not store the model’s answer text, which means a trace is evidence of what was decided and what it cost rather than a transcript you could replay. That is a deliberate trade against holding a complete copy of every prompt your organisation has ever sent, and it should be stated to an auditor rather than discovered by one.
- Governed request lifecycle
- One trace per request with its events, including requests refused before egress. Retained for whatever period you set, which is a decision rather than a default.
- Policy decisions, enforcing and observed
- Every rule that matched writes a decision event naming the policy, its mode, its action and why it matched — so a rule running in observation mode leaves evidence that it was running.
- Governance-plane changes
- A separate hash-chained log covering the administrative acts: an agent created, a role widened, a policy promoted to enforcing, an approval decided, the kill switch engaged.
- Not recorded
- Hidden model reasoning, and the model’s answer text. The prompt survives as a bounded excerpt after redaction, so a conversation cannot be replayed from the record.
Article 14: oversight that can actually intervene, and actually stop
Article 14 is about human oversight, and like Article 12 it is addressed to the provider: a high-risk system has to be designed and built so that natural persons can effectively oversee it while it is in use. Article 14(4) then lists the capabilities that design has to enable for the people oversight is assigned to — among them, at 14(4)(e), the ability to intervene in the operation or to interrupt the system through a stop button or a similar procedure. The deployer’s matching duty is Article 26(2): assign that oversight to named natural persons who have the competence, the training, the authority and the support to exercise it. Read together they are one requirement in two halves, and the operative words in both halves are about capability rather than intention. An organisation chart naming an oversight owner satisfies neither half if the owner has no button.
For agents, intervention has a natural implementation: a gate on the specific actions that matter, where the request stops, a named person decides, and their decision is recorded with a rationale. The design detail that decides whether this is a control or a rubber stamp is what the approval is bound to. An approval that authorises a refund rather than this refund of this amount on this order is a standing licence for every refund the agent proposes afterwards, and the agent proposing them is the component most likely to have been talked into it by retrieved text. Binding the approval to a hash of the exact action plus its execution context, making it single-use and giving it an expiry is what turns a queue entry into an oversight record.
The second design detail is the queue itself, and it is the one that decides whether oversight survives the first month. Gating too much produces an approval queue nobody reads, and an approval queue nobody reads is worse than no gate at all, because it converts a control into a delay with a rubber stamp on the end. Risk-tier the gates so approvals stay rare enough to be read.
Halting is the other half and it needs to be blunt. A kill switch scoped to one agent, one team or the whole estate, checked before anything else in the pipeline, engaged only by a named person with a stated reason, and written into the audit log — because the audit entry is the only account anyone will ever have of why an entire fleet stopped. What it is honest to say about any such switch is that it is an admission control: it refuses new work rather than recalling a request already dispatched to a provider.
Article 26: the deployer’s own list, obligation by obligation
Article 26 is where the deployer duties are gathered, and it is worth walking through the sub-articles that bear on an agent estate, because each one turns into a field or an artefact rather than a paragraph of policy.
The pattern across all of them is the same: the obligation is satisfied by a record somebody maintains, and the record is only worth having if something reads it. A declared purpose that no enforcement path consults is a sentence in a document; a declared purpose held on the record the gateway resolves on every call is a statement you can compare behaviour against.
- 26(1) — use in accordance with the instructions for use
- Requires a stated purpose to compare behaviour against. In practice this is a declared-purpose field per agent, required rather than optional, written as a sentence somebody would defend, and carried into every review of that agent.
- 26(2) — assign oversight to competent persons
- Requires a named human per agent rather than a team alias, and an identifiable approver on every human decision. A rota is not an assignment; a mailbox is not a person.
- 26(5) — monitor operation and inform the provider of risks
- Requires that something notices. Policy-block rates, discovery findings and incident-shaped events pushed into your service-management or security tooling are the mechanism; a dashboard nobody has alerting on is not monitoring.
- 26(6) — keep the automatically generated logs, at least six months
- Requires a decided retention period. Token Observe’s trace retention is unset by default and unset means keep forever, which over-satisfies this duty and satisfies no storage-limitation duty at all — so a GDPR-regulated deployment has to set it, and counsel has to decide whether the obligation applies and what period satisfies both.
- 26(9) — use the provider’s information to carry out a data protection impact assessment where required
- This one points outward: it tells deployers of the Annex III high-risk systems to use the information the provider supplies under Article 13 when discharging the DPIA duty that already exists under Article 35 of the GDPR. The assessment is yours and it is not an AI Act artefact. What a tool contributes is a place to record the reference against the agent it belongs to, and to carry that reference into the evidence export so the assessment and the runtime record are linked rather than filed separately. Note that the fundamental-rights impact assessment is a different obligation in a different article — Article 27 — owed by a narrower set of deployers; conflating the two is the commonest mistake in a compliance table.
- 26(12) — cooperate with competent authorities
- Requires that you can produce the record on request, in one bundle, with something that tells the recipient whether it has been altered. That is an export with a verification verdict inside it rather than a folder of CSVs.
What the export actually contains, and what a pass in it means
The artefact an authority or an auditor asks to see is a bundle covering a period: the traces and their events, the approvals with approver identity, timestamp and rationale, the audit entries covering every governance-plane change, and a verification result for the chain those entries sit in. Token Observe’s compliance export carries all four plus a SHA-256 digest over the canonical JSON of the bundle body, generated at a recorded time.
Be precise about that digest, because the wording matters and it is the wording an informed auditor will test. It is a seal, not a signature. It lets a recipient confirm the file is byte-for-byte the one whose digest they were given through some other channel, and anyone who can rewrite the bundle can recompute it. Durable origin evidence does not come from the export; it comes from the keyed audit chain plus an off-box Ed25519 anchor, which is where the signature actually lives.
The verification verdict travelling inside the bundle is what distinguishes it from an exported log file, and the field to read is the protection level rather than the valid flag. Under the default unkeyed configuration the chain is plain SHA-256 and an operator with write access can rewrite an entry and recompute every downstream hash, at which point verification reports valid. That is tamper-evidence against alteration that does not also recompute the chain — which is genuinely useful and is not what an auditor will assume the word valid means. Under a keyed configuration the digests are HMACs under a key held outside the database and the head is sealed at every boot by a checkpoint, so a rewrite needs the key as well as database access. Both states are labelled in the export. Present the label, not just the flag.
The bundle is also capped: at most 200 traces, 5,000 events, 1,000 approvals and 2,000 audit entries over a default 30-day window, with a truncation flag set inside the file whenever a cap bites. Be precise about how visible those caps are, because it is the sort of detail that decides whether a partial bundle goes to a regulator described as complete. In the current console only the trace cap is repeated beside the download button, together with an instruction to narrow the dates and to check the truncation flag in the file before sending it on; the other three caps are documented rather than displayed. Nobody opens a sealed JSON file to check before forwarding it, so until every cap is on the screen the covering note is where they belong.
The obligations no product can discharge, stated plainly
A compliance mapping table that overclaims is worse than no table at all, so here is the boundary. A control helps you evidence a clause. It does not make you compliant with it, and it confers no certification on the organisation that installs it. Token Observe holds no SOC 2 report, no ISO 27001 certificate, no ISO/IEC 42001 certificate and no independent penetration test, and it says so in its own documentation rather than letting a mapping table imply otherwise.
Deciding the risk classification is yours. Running a fundamental-rights impact assessment under Article 27, where you are one of the deployers that owes one, is yours — and it is a separate obligation from the data protection impact assessment referred to at 26(9), which is a distinction a specialist will check. Choosing a retention period — and defending it against both the minimum-retention duty at 26(6) and the storage-limitation principle in the GDPR, which pull in opposite directions — is yours, taken with counsel. Informing workers’ representatives and the affected workers before a high-risk system goes into use at work, which is Article 26(7), is yours. So is informing the provider or a market surveillance authority under 26(5) when something goes wrong, and suspending use while you do. What a tool contributes is that when you do those things, the underlying record exists and can be produced.
There are also things that fall outside the runtime boundary entirely. Training-data provenance and model cards are provider matters. Bias and fairness testing is separate work with separate methods; a gateway sees requests and responses and has nothing to say about disparate impact. And nothing at all is evidenced about an agent that never routes through the governance layer — which is exactly why discovery of ungoverned model use belongs in the same programme, and why its findings belong in your risk register rather than being dismissed as noise.
One last operational note that catches people. Data-subject erasure and evidence retention are separate mechanisms and they interact. Erasing one subject’s traces does not break the audit chain, because traces and the administrative log are separate tables and the chain covers governance-plane changes rather than payloads — and the record that a deletion happened survives the deletion, carrying a digest of the subject identifier rather than the identifier itself, so the erasure record does not become a new copy of the thing that was erased. The reverse is not true: an audit entry cannot be edited to remove something without breaking verification from that sequence onward. Do not put anything into the governance-plane log that you may later be required to erase.
How to put the EU AI Act for agent deployers into practice
- 01
Settle your role and your classification with counsel
Establish for each agent whether you are the deployer, the provider, or both, and whether the system falls into a high-risk category. Record the outcome as a field on the agent rather than in a document, so it is visible next to the thing it describes. - 02
Write a declared purpose for every agent, and a named owner
One sentence you would defend to a regulator, and one human accountable for a thing that is not human. Both are required fields rather than optional ones, because an agent nobody owns is an oversight assignment nobody made. - 03
Turn on recording before you turn on anything clever
Route the traffic through one enforcement point so that requests, decisions and refusals are recorded by something other than the agent. Confirm that a blocked request produces a record, not just a successful one. - 04
Decide a retention period and configure it
Unset usually means keep forever, which over-satisfies a minimum-retention duty and satisfies no storage-limitation duty. Have counsel choose a period, set it, and check that the configuration is reporting an actual purge rather than merely being present. - 05
Gate the actions that need a human, and keep the queue readable
Put approval gates on the small set of irreversible or high-impact actions, bind each approval to the exact payload, and record the approver and their rationale. Risk-tier the gates so that the queue stays rare enough to be read. - 06
Prove you can stop it
Test the halt path as a drill rather than assuming it. Engage a scoped kill switch in a controlled window, confirm the refusal reaches the agent, and confirm the audit entry names the person and their reason. - 07
Produce the export before anybody asks for it
Run the evidence bundle for a past month and read it as an auditor would: check the verification verdict and its protection level, check whether any cap truncated it, and check that the assessment references you recorded actually travelled with it.
Where this argument meets an implementation
Agent registry
One record per agent, and it is the record the gateway enforces against.
Human approvals
One human decision, bound to one exact payload, spendable once.
Flight recorder
Every governed request in a timeline a compliance officer can read, and a search box that never writes SQL.
Audit chain
Every administrative act hash-chained; seal it under a key held off the box, and anchor it with a signature your auditor can check alone.
Those pages are one product's implementation of what this guide argues for; describe what your agents actually do and you will get a straight answer about whether you need any of it, including when the answer is no.
Talk it throughAre we a deployer or a provider under the EU AI Act?
It depends on your arrangement rather than on your technology, and it is a legal determination worth settling early because the duties differ. Broadly, a provider develops a system and places it on the market or puts it into service under its own name, while a deployer uses a system under its own authority. Most organisations wiring a foundation model into an internal agent are deployers of that model; whether you also become a provider of the assembled system depends on what you built and how you offer it. Settle it with counsel, record the answer per agent, and revisit it when the agent’s purpose changes.
How long do we have to keep agent logs?
Where Article 26(6) applies, at least six months for the automatically generated logs the deployer controls. The trap is treating that as the whole answer: a minimum-retention duty and the storage-limitation principle pull in opposite directions, so the defensible position is a period your counsel has chosen and you have configured, not an unset default. Token Observe’s trace retention is unset by default and unset means keep forever, which is deliberate — an upgrade that silently began deleting a customer’s evidence would be the worse failure — but it means a GDPR-regulated deployment has to set it, and to check that the purge is running rather than merely configured.
What satisfies the Article 14 requirement to be able to stop the system?
Something a named person can engage that takes effect on the next request, scoped to what needs stopping, and recorded. In practice: a kill switch scoped to one agent, one team or the whole estate, checked at the very start of the pipeline before permissions, budgets and policy, requiring an attributable actor and a stated reason, and written into the audit log along with its release. The honest qualification is that any such switch is an admission control — it refuses new work rather than recalling a request already dispatched to a provider — and that is worth stating in your own documentation before an auditor asks.
Does an evidence export prove our logs have not been altered?
It proves less than the word export implies, and the precise wording matters. The bundle carries a SHA-256 digest over its own canonical body, which lets a recipient confirm the file has not changed since somebody told them the digest — that is a seal, not a signature, and whoever can rewrite the bundle can recompute it. Inside it travels a verification verdict for the audit chain, and the field to read is the protection level: unkeyed means a plain hash chain, which a database writer can rewrite and recompute, while keyed means the digests are HMACs under a key held outside the database. Durable origin evidence comes from the keyed chain plus an off-box Ed25519 anchor, not from the export.
Which parts of the Act can no software help with?
The judgements. Classifying a system as high-risk, carrying out the fundamental-rights impact assessment Article 27 requires of some deployers, deciding a retention period that satisfies competing duties, informing workers’ representatives under 26(7), and notifying a provider or an authority under 26(5) when something goes wrong are all deployer acts. Software contributes the substrate: the inventory those judgements attach to, the logs they are argued from, and the export that carries them. Two further areas fall outside the runtime boundary entirely — training-data provenance and model cards, which are provider matters, and bias and fairness testing, which is separate work with separate methods.
Prefer to ask a person? Write to us →
Bring us the question this guide did not answer.
Write to hello@tenhaw.com with what your agents do, which providers they call and what would have to be true for you to put something in front of them. James Rooney replies. You will get a straight answer about whether Token Observe fits, including when it does not.
no form · no qualification step · no sales desk · the other three ways in