The EU AI Act now requires anyone running a customer-facing AI assistant to disclose it — clearly, at first interaction, in a language the person understands. EUDisclose is one script tag that does it properly, and keeps the evidence.
We look for a chat or agent interface, then grade the disclosure against Article 50(1) and the Commission’s draft Guidelines. A human reviews every result before it goes out, so it lands in your inbox within a day — not instantly.
We use your address once, to send this report. No list, no sequence, no sharing.
Most of the AI Act is about high-risk systems, and most of those deadlines slipped to December 2027. Article 50 did not slip. It applies to any AI system that interacts with people or generates content — a support bot, a booking assistant, an AI voice line, a marketing image. Penalties reach €15 million or 3% of worldwide turnover.
The draft Guidelines say so explicitly. So is a faint footer label, or metadata with nothing a human can see. The notice has to be clear, distinguishable, and present at or before first interaction.
Disclosure that the person can’t read isn’t disclosure. We ship all 24 official EU languages, with the localised label the Code of Practice points at — KI, IA, SI, ΤΝ.
Not on the day you install it — eighteen months later, by a regulator, an enterprise buyer’s security review, or a customer complaint. A screenshot from last year proves nothing.
Point it at the element that wraps your chat UI. It handles the rest.
<script src="https://cdn.batcave.no/v1/disclose.js" data-site-key="pk_live_7f3a…" data-anchor="#support-widget" data-notice="modal"></script>
9 kB, no dependencies, no cookies, no third-party fonts. Works with Intercom, Zendesk, Crisp, Tidio, Voiceflow, Botpress, ElevenLabs agents, or your own React build.
| You get | Why it matters |
|---|---|
| First-interaction notice | Modal or inline, acknowledged and timestamped |
| Persistent indicator | Survives long conversations; not user-dismissible |
| Per-message labels | Stays visible after the header scrolls away |
| 24 EU languages | Auto-detected from the visitor, not the server |
| Accessibility built in | ARIA roles, focus trap, contrast, reduced motion |
| Audit trail | Every disclosure logged with a hash of the exact copy shown |
| Media labelling | Disclose.labelMedia() for Article 50(4) content |
Plenty of firms will sell you a €997 review and a PDF. That PDF describes your site on the day it was written. Then someone redeploys the widget, a translation regresses, a new landing page ships without the tag — and the PDF is fiction.
Every notice shown, every acknowledgement, with locale, page, dwell time, and a digest of the exact wording that was displayed.
We re-scan your domains weekly. If a page starts serving your chat widget without the disclosure layer, you hear about it that day.
A dated PDF plus the raw event log for any period you choose. Hand it to a DPA, an auditor, or an enterprise procurement team.
One domain, one AI surface.
Up to 5 domains, unlimited surfaces.
25 client domains. Resell it.
The Digital Omnibus pushed most high-risk obligations to December 2027. Article 50 transparency was not part of that delay and has applied since 2 August 2026. Generative systems already on the market before that date got until 2 December 2026 for the machine-readable marking requirement in 50(2) specifically.
Article 50 follows the person, not the server. If your assistant talks to someone in the EU, you are in scope regardless of where you are incorporated.
There is, for cases where AI involvement is obvious to a reasonably well-informed, observant and circumspect person in your audience. The Guidelines set out a two-step test and it is narrower than most people assume — particularly as assistants get more fluent. It is a defence you argue after the fact, not a design decision.
Yes, in about two hours. The banner is the easy part. What takes longer is 24 languages, accessibility conformance, keeping it attached through every redeploy, and being able to demonstrate a year from now what a specific visitor in Lisbon actually saw in March.
Disclosure events only: timestamp, page path, locale, which notice variant appeared, dwell time, and a hash of the copy shown. No cookies, no message content, no IP retention, no cross-site identifiers. Data stays in the EU.
Then the scan grades you A or B and you don’t need us. We would rather tell you that than sell you something.