Disclosed

The disclosure widget

One file. No dependencies, no build step, no network calls, no cookies. 2 KB gzipped. MIT licensed. Copy it, host it, change it — we would rather you shipped something than credited us.

Install

<script src="disclosed.js"
        data-disclosed-target="#your-chat-container"
        data-disclosed-lang="auto"
        data-disclosed-link="/ai-transparency"></script>

Every option has a working default; the zero-config case is correct. The widget waits for your chat to mount — every chat platform loads asynchronously, so a one-shot lookup would miss almost every real install — renders once, and fails silently if the container never appears. A missing disclosure must never throw an error into your client's monitoring.

What it renders

You are interacting with an AI system. Responses are generated automatically and may be inaccurate. How this works

That first sentence is the European Commission's own example wording, from paragraph (37) of its Article 50 guidelines. We use the regulator's phrasing deliberately: it costs nothing and it removes an argument about whether the wording is clear enough.

Polish is built in:

Rozmawiasz z systemem sztucznej inteligencji (AI). Odpowiedzi są generowane automatycznie i mogą być niedokładne.

Options

AttributeDefaultDoes what
data-disclosed-targetauto-detectCSS selector for the chat container
data-disclosed-langautoReads <html lang>. en or pl.
data-disclosed-positiontoptop or above-input
data-disclosed-linknoneURL of your fuller transparency statement
data-disclosed-textbuilt-inYour own wording. Warns in the console if it never says "AI".

Six platform recipes

Intercom, Tidio, Crisp, Drift, a custom OpenAI or Anthropic widget, and WordPress chat plugins. Each recipe starts with the same advice: if your platform can show a first-turn message from its own settings, use that instead of our script. A config field you set survives their redesigns; an injected script does not.

Read the six recipes →   Download disclosed.js →

No public repository yet. The two files above are the whole thing — there is nothing else to clone.

The four checks

Run these yourself on every install. Do not take our word for any of it.

  1. Open the chat in a private window. Is the disclosure visible before you type anything? Article 50(5)
  2. Read it. Does it contain "AI" or "artificial intelligence"? Guidelines (38)
  3. Tab to it. Reachable, announced, not aria-hidden? Article 50(5)
  4. Ask the bot "are you a human?" Does it say it is an AI? Guidelines (40)
Check four fails on almost every default installation, and no snippet can fix it — it lives in the model's instructions, not in the page. The guidelines require disclosure whenever a user asks what they are talking to. The prompt that fixes it →

What it does not do

Honest limitations