Article 50 of the EU AI Act became applicable on August 2, 2026. It’s the transparency chapter, and it’s the one most likely to land on a normal engineering team, because it doesn’t care whether your system is high-risk. It cares whether people can tell they’re dealing with a machine.
Most of the coverage has focused on model providers. Anthropic signing the Article 50(2) Code of Practice and shipping watermarking in Claude is a provider story. If you call that API and put the output in a product, you’re in a different chair with a different set of duties, and your provider being compliant does nothing for you.
Here’s Article 50 read from the perspective of someone who ships an API. What each paragraph asks for, which one is yours, what the exemptions actually say, and how to turn the result into something your CI can enforce with Apidog rather than a spreadsheet.
The five paragraphs, and who they land on
| Paragraph | Who | What it requires |
|---|---|---|
| 50(1) | Provider | Systems that interact directly with people must make it clear they’re AI, unless that’s obvious to a reasonably well-informed person |
| 50(2) | Provider | Generative systems must mark synthetic audio, image, video, and text in a machine-readable format that’s detectable as artificially generated or manipulated |
| 50(3) | Deployer | Emotion recognition and biometric categorisation systems must inform the people exposed to them |
| 50(4) | Deployer | Deepfakes must be disclosed. AI-generated text published to inform the public on matters of public interest must be disclosed |
| 50(5) | Both | Disclosure must arrive no later than the first interaction or exposure, clearly and accessibly |
The provider and deployer split does most of the work here, and it isn’t a company-size distinction. It’s a role you occupy per system. Build and place a generative system on the EU market and you’re a provider for it. Use someone else’s system under your own authority and you’re a deployer. Wrap Claude in your own product and rebrand it, and you may be both, for different parts of the stack.
50(2): machine-readable marking
This is the paragraph Anthropic signed a Code of Practice for. Providers of AI systems generating synthetic audio, image, video, or text must ensure the outputs are marked in a machine-readable format and detectable as artificially generated or manipulated.
The text sets a realistic bar rather than an absolute one. Solutions must be effective, interoperable, robust, and reliable as far as technically feasible, taking into account the specificities and limitations of different content types, implementation costs, and the generally acknowledged state of the art. That phrasing is why the market converged on two techniques rather than one: statistical watermarking for text, and signed C2PA manifests for files. Neither is perfect, and the law effectively acknowledges that.
Two exemptions matter for tooling teams:
Assistive function for standard editing. A system performing an assistive function for standard editing is out of scope. A spell checker, a formatter, an autocomplete that finishes the word you were typing.
No substantial alteration of the input data. If your system doesn’t substantially alter the data it was given, 50(2) doesn’t bite.
The gap between “assistive editing” and “substantial alteration” is where a lot of real products live, and it isn’t crisply drawn. A tool that rewrites a paragraph for tone is not a spell checker. A tool that reorders your JSON keys is not generating synthetic content. Somewhere between them is a line your legal team gets to draw, not your architect.
If you build on a marked model, you get 50(2) coverage for free on the text you pass through, since the mark is applied at the model level. That’s genuinely useful, and it’s also the narrowest of the obligations.
50(4): the one that’s probably yours
Deployers get two duties, and the second is the one teams miss.
Deepfakes. If you deploy a system that generates or manipulates image, audio, or video content constituting a deep fake, you must disclose that it’s artificially generated or manipulated. Art, satire, fiction, and analogous works get a lighter treatment: you disclose the existence of generated content in a way that doesn’t hamper the display or enjoyment of the work.
AI-generated text on matters of public interest. If you deploy a system generating or manipulating text published for the purpose of informing the public on matters of public interest, you must disclose that the text was artificially generated or manipulated.
Then the exemption that decides most real cases: this does not apply where the content has undergone a process of human review or editorial control and a natural or legal person holds editorial responsibility for the publication.
Read that carefully, because it’s a real safe harbour and it’s also narrower than it sounds. “A human skimmed it” is not editorial control with editorial responsibility. A named person or entity accountable for the publication is. If you run an AI-assisted newsroom, a policy blog, or a health-information site, the difference between compliant and not is often an editorial process you can evidence, not a technical control.
Note also what 50(4) does not cover. Product copy, support macros, code comments, and internal summaries are not text published to inform the public on matters of public interest. The obligation is scoped to public-interest information, not to all published text.
50(1) and 50(5): the chat window rules
50(1) is the simplest one to satisfy and the easiest to fail on a technicality. Systems intended to interact directly with natural persons must be designed so those people are informed they’re interacting with an AI system, unless it’s obvious to a reasonably well-informed, observant, and circumspect person.
“Obvious” is doing a lot of work, and relying on it is a bet. A widget clearly labelled as a bot is fine. A support channel where a model answers in a human voice, under a human name, with no indication, is not.
50(5) sets the timing and form: the information must be provided at the latest at the time of the first interaction or exposure, and it must be clear, distinguishable, and accessible. A disclosure buried in your terms of service is not provided at first interaction. A disclaimer that fails accessibility requirements is not accessible.
For an API team, 50(5) has a consequence people rarely notice: if your API powers someone else’s chat UI, you can’t discharge the disclosure yourself. Your caller does that. But they can only do it reliably if your contract tells them which responses are model-generated, which is exactly the argument in adding AI disclosure to your own API.
The dates, and one that’s still moving
August 2, 2026. Article 50 became applicable. This is the hard date.
June 10, 2026. The Code of Practice on Transparency of AI-generated Content was published. The Commission and the AI Board confirmed it as an adequate voluntary tool for demonstrating compliance. Roughly 190 organisations had signed by the end of July, Anthropic among them. Signing is voluntary; not signing means a market surveillance authority assesses you individually.
December 2, 2026. Widely reported as an extension for generative systems already on the market before August 2, 2026 to meet the 50(2) machine-readable marking requirement, via the AI Omnibus package agreed provisionally in May 2026. Treat this as a moving target and confirm the final text with counsel rather than planning against a headline.
Anthropic’s own transition sits inside this window. Claude models launched on or after August 2, 2026 mark at launch; older models are being retrofitted. If your product pins an older model ID, you’re relying on that retrofit landing.
What non-compliance costs
Article 50 breaches sit in the second penalty tier of Article 99: up to €15 million or 3% of total worldwide annual turnover for the preceding financial year, whichever is higher. For a qualifying SME, it’s whichever of the two is lower.
For context, the top tier for prohibited practices is €35 million or 7%, and supplying misleading information to authorities sits at €7.5 million or 1%. Transparency is not the harshest tier, but 3% of global turnover is not a rounding error either. Enforcement runs through national market surveillance authorities.
Turning it into engineering work
Legal analysis is not your job. Making the resulting decisions durable is. Four things an API team can actually own:
1. Write down which role you occupy, per system. Provider or deployer, per surface. This single line determines which paragraphs apply and it changes when you rebrand a third-party model as your own.
2. Put marking status in your model config. Which model IDs mark their output, and since when. Mixed fleets are the normal state during the transition, and a cost-based fallback can silently move you between marked and unmarked output. Assert the resolved model in your tests so it can’t move without a failing build.
3. Make disclosure a contract, not a UI decision. If your API returns model output to other people’s code, put it in the response. A header or a field, documented in your OpenAPI definition, versioned like anything else. UI banners don’t reach machine consumers.
4. Test the disclosure like any other guarantee. A disclosure field that disappears in a refactor is a compliance gap introduced by a merge. Assert it on every path that returns model output, including cached and error responses, and validate responses against your spec so the field can’t quietly vanish. How to validate OpenAPI specs covers the spec side; API assertions covers the runtime side.
In Apidog you can express all of this as a test scenario: assert the resolved model, assert the disclosure header and body field, validate against the OpenAPI schema, and then run the scenario from apidog-cli in your pipeline so the build fails when a guarantee breaks. Teams already running API tests in GitHub Actions can add it to the existing job. Download Apidog if you want to build it while you read.
Governance-heavy teams may also want the broader process view in the essential API governance checklist and the best API governance tool for large teams.
FAQ
Does Article 50 apply to me if I’m not in the EU? It can. The AI Act reaches providers placing systems on the EU market and, in defined circumstances, providers and deployers outside the EU whose system output is used in the EU. Where you’re incorporated is not the test.
My model provider marks its output. Am I compliant? No. Your provider satisfying 50(2) is your provider’s obligation discharged. Your duties under 50(1), 50(4), and 50(5) as a deployer are separate. Anthropic says this explicitly in its own guidance: assess independently what Article 50 requires of your products and services.
Do I have to label every piece of AI-generated text I publish? No. 50(4) covers text published to inform the public on matters of public interest, and even then there’s an exemption where the content had human review or editorial control with someone holding editorial responsibility.
Is a chatbot disclaimer in the terms of service enough? No. 50(5) requires the information at the latest at the time of first interaction, in a clear and distinguishable form.
What counts as a deepfake under 50(4)? Generated or manipulated image, audio, or video that resembles real people, objects, places, or events and would falsely appear authentic. Artistic, satirical, and fictional works get a lighter disclosure obligation.
What are the fines? Up to €15 million or 3% of total worldwide annual turnover for the preceding year, whichever is higher, under Article 99. For qualifying SMEs, whichever is lower.
Should we sign the Code of Practice? It’s voluntary and aimed mainly at providers. Signing gives you a recognised route to demonstrating compliance. Not signing means an authority assesses your approach on its own merits. That’s a legal call, not a technical one.
The takeaway
Article 50 is short, and the part that applies to most API teams is shorter still. You almost certainly aren’t the one who has to embed a watermark. You very likely are the one who has to tell people they’re talking to a machine, label AI-generated public-interest text you publish without editorial responsibility, and do both at the moment of first contact.
The engineering translation is smaller than the legal reading suggests: know your role, know which models mark, put disclosure in your contract, and test it. The last one is the difference between a policy and a guarantee.



