Your chatbot needs to disclose it's an AI. Once, not every message.
I've seen two versions of a chatbot disclosure go wrong, and they fail in opposite directions. The first is a line appended to every single reply, some variation of “I'm an AI”, forever, on every message. The second is a notice that flashes once when the page first loads and is gone by the time anyone's actually reading the conversation. Neither one is doing what a disclosure is supposed to do.
The first is the more common instinct, because it feels safer: if it's everywhere, surely it counts. But a line that repeats on every message is exactly the kind of text people learn to stop seeing within the first three replies. It becomes wallpaper. Once something is wallpaper, whether it's technically present stops being the interesting question, because it's no longer doing the thing disclosure is for, which is making sure the person on the other end actually knows.
For the obligation itself, I covered it in a longer explainer on Article 50 a while back: people need to be told they're interacting with an AI system, unless it's obvious from context. That sentence tells you the goal. It doesn't tell you how often to say it, and I think that gap is exactly where both failure modes above come from: one side treats “how often” as “always”, the other treats it as “once, technically”. Both are answers to a question the obligation didn't actually ask.
The pattern that's worked better, in what I've built and in what I've seen elsewhere, splits the difference by splitting the signal from the content. The disclosure isn't a sentence baked into what the AI says. It's a separate notice your interface shows once, clearly, the first time someone starts a conversation, non-dismissable so it can't be missed or clicked past without registering. After that first message, it steps down to a small, persistent badge for the rest of that session, always visible, never interrupting, and a new session gets the full notice again. Said once, forgotten by no one who actually looked at the screen, and never competing with the conversation for attention after that.
The alternative most tools default to, because it's the easiest thing to implement, is rewriting the model's actual reply to append a disclosure line into the text itself, every time. It works, in the sense that the words are there. But it means every single response is partly not the model's output anymore, it's the model's output plus a fixed string glued onto the end, and the fixed string is precisely the part people's eyes learn to skip. Making the disclosure a genuine part of the interface instead of an edit to the content keeps it visible without holding the conversation hostage to it.
This is, again, how Disclarion's SDK handles it by default: the disclosure is metadata your own frontend renders, not text your model is forced to say, and a ready-made reference widget implements exactly the once-then-badge pattern above so nobody has to design that interaction from scratch. The older approach, rewriting the reply text on every message, still exists in the SDK for backward compatibility, and I'd be lying if I said I thought it was the better default. It just came first.
None of this changes what the underlying obligation is, people still need to know they're talking to an AI, and I'm not claiming the law specifies a frequency, because it doesn't. What changes is whether the disclosure still means anything by the tenth message. A notice nobody registers because it's everywhere isn't meaningfully different from one nobody sees because it flashed once and vanished. Worth checking which failure mode your own product is closer to — and if the honest answer is “we rely on the bot's name,” that's a third failure mode, covered separately in why a name alone isn't disclosure.
More from the blog
Your internal AI tools owe the same disclosure duty the customer-facing one does
An HR bot or IT helpdesk assistant used only by your own staff still interacts with natural persons. Article 50 doesn't carve out an exception for "internal-only."
Does the EU AI Act apply if you're not based in the EU?
"We're a US company, we don't have an EU entity" isn't the exemption it sounds like. The actual test is about who's on the other end of the conversation, not your mailing address.
Why I built Disclarion as an SDK, not a dashboard
The easier product to build is a dashboard you configure after the fact. I built Disclarion to sit inside the AI call itself instead, and it's worth explaining why.
Deepfakes get a stricter rule than an AI-written blog post
Article 50(4)'s deepfake duty isn't the same obligation as ordinary AI content labeling — it applies to image, audio, and video specifically, and the built-in exemptions work differently too.
Your chatbot isn't the only thing that owes a disclosure under Article 50.
Article 50's disclosure duty doesn't stop at chatbots — emotion recognition and biometric categorization systems carry the same obligation, and they're the two system types teams miss most often.
You named it "AI Assistant." That's not the same thing as disclosing it.
A bot's name feels like disclosure. Article 50 cares whether a reasonable user actually understood they were talking to an AI — not whether a label existed somewhere on the page.
Your editor touched it. Article 50's label exemption still might not apply.
Article 50(4) waives the visible AI-content label when a human takes substantive editorial responsibility for a piece — but a quick skim doesn't qualify, and the exemption doesn't touch the audit-trail duty underneath it.
You labeled the article. That's not the same thing as marking it.
Article 50(2)'s machine-readable marking and Article 50(4)'s visible label are two different duties. Images already meet the first one by accident. Article text usually doesn't meet it at all.
Your AI answers the phone now. There's no modal for that.
Article 50's disclosure duty doesn't go away because there's no screen. What actually discloses an AI voice agent on a phone call, when a modal isn't an option.
An AI audit trail doesn't need to know what your users actually said.
Teams hear "audit trail" and picture a database of every conversation. Article 50's version is narrower: it has to prove disclosure and labeling happened, not repeat what was said.
Article 50 skips disclosure when it's "obvious from context." That word is doing more work than it looks like.
Disclosure isn't required when AI use is obvious from context, but Article 50 never defines obvious, and most of the cases teams assume qualify, don't.
You have logs. That's not the same thing as an audit trail.
Under Article 50, an audit trail has to be insert-only, complete, and producible on demand, not a data-engineering project when a regulator actually asks.
Your AI-generated content needs a label. Here's what that actually means.
A disclaimer someone remembers to add isn't a labeling system. Under Article 50, AI-generated content needs to be identifiable as such, reliably, not as a manual step someone can forget.
EU AI Act Article 50, explained: who it affects and what it requires
Article 50 of the EU AI Act has been enforceable since August 2, 2026: who it applies to, its three obligations, and the penalties for getting it wrong.