The EU AI Act's transparency duty is already in force.
Disclarion is AI compliance software that helps teams running chatbots and AI agents meet Article 50 of the EU AI Act by signaling AI interactions, labeling generated content, and keeping audit-ready records: a few lines of backend code plus a ready-made UI component.
- Max fine
- €15M
- Or turnover
- 3%
- Applies to
- Any size
from disclarion import Disclarionfrom openai import OpenAI dc = Disclarion(api_key="dcl_live_...")client = OpenAI() response = client.chat.completions.create( model="gpt-4o-mini", messages=messages)tracked = dc.track( response, session_id=session.id) tracked.disclarion_meta# {"ai_generated": True,# "is_first_message": True, ...}track() reads OpenAI, Anthropic, and Gemini response objects. Using another framework? Log through the REST API.
Your frontend, built with disclarion_meta
Thanks for reaching out! I can help with that.
AI-assistedExample UI, not something track() renders for you, built from the copy-paste reference component in the SDK's widget/ folder.
If your product talks like an AI, Article 50 applies to you.
Article 50 of the EU AI Act became enforceable on August 2, 2026. Non-compliance can cost up to €15M or 3% of global annual turnover, whichever is higher. For SMEs and start-ups, the AI Act applies the lower of the two amounts (Art. 99(6)).
If you operate a chatbot, virtual assistant, or AI agent that interacts with people, including one built on OpenAI, Anthropic, or Gemini, this obligation applies to you, regardless of company size. Building on top of someone else's model does not change that. Under Article 50(1), the duty sits with the provider of the AI system people interact with. If you put a chatbot into service under your own name, that is usually you, not the lab that trained the model.
The fix is a lot smaller than the risk: a clear way to tell users they're speaking with an AI, generated content labeled where required, and interaction records ready the moment a regulator asks: a few lines of code, not a legal project.
Without Disclarion
- No proof you disclosed AI use
- Manual, easy-to-forget compliance
- Nothing to show an auditor
With Disclarion
- Every interaction logged, timestamped, exportable
- Logging built into your AI calls, disclosure UI from a ready reference component
- Audit-ready log export in one click
Built around the European Commission's official Article 50 guidelines (published July 2026).
Not sure where you stand?
Get your site's AI transparency score free, in seconds.
What Disclarion actually does
Three obligations, handled at the SDK layer instead of bolted on after the fact.
01 · Disclosure
Know exactly when a disclosure is owed
The SDK flags the first message of a session, so your backend knows precisely when a disclosure is owed. Show it with the copy-paste React/vanilla-JS reference component, or build your own UI around the signal.
02 · Labeling
Generated content is labeled at the source
Text, images, and other AI output your product returns get a standard visible label in the same call that logs them.
03 · Audit trail
Every interaction is logged, automatically
Each interaction is written to an insert-only, timestamped record the moment it happens, including whether the disclosure was actually rendered, queryable and exportable the moment a regulator, auditor, or customer asks for it.
The label ships with the content, not bolted on after
track_content() doesn't just log AI-generated text and images, it returns a standard, ready-made label for them too: a real watermark baked into an image's own pixels, or a positioned HTML snippet for text, both in the same bottom-left spot every time. You don't design it, position it, or remember to add it.

A real watermark for images
Baked into the file itself, so it travels with the image through a re-upload or re-host.
A positioned badge for text
A fixed HTML snippet, already styled and placed, no design decision left for you to make.
One argument, not a new integration
Pass image=... to the same call you already use for logging.
It's a label, not a certification: it shows content is AI-generated, it doesn't verify anything about the content itself. It's also a visible label, not the machine-readable marking Article 50(2) requires from providers of generative systems. Content Credentials support is on our roadmap.
How Disclarion works
- 01
Integrate the SDK
Wrap your existing chatbot or agent call. No infrastructure changes, no new services to run.
- 02
Logging runs automatically. Disclosure is a signal your UI renders.
Every request is recorded in the background automatically, no per-message re-prompting. For a session's first message, the SDK also returns a signal that a disclosure is owed: your UI renders it, with the reference component or your own.
- 03
Review audit-ready evidence in the dashboard
See, filter, and export compliance records the moment a regulator (or a customer) asks.
What Disclarion does
- Flags the first message of every session so your app knows when a disclosure is owed.
- Logs every interaction (metadata only, never your content) in an EU-hosted, insert-only audit trail.
- Generates standard visible labels for AI-generated images and text (Python SDK).
- Turns your logs into exportable evidence reports.
What you do
- Render the disclosure in your UI, using our reference component or your own.
- Place the label next to the content you publish.
- Decide, with your counsel, which Article 50 obligations apply to you. Disclarion is not legal advice.
Ship it from wherever you already ship
A Python SDK, an n8n community node, and the HTTPS API underneath both: same disclosure, labeling, and audit trail, whichever one you reach for.
PyPI
Python SDK
Wrap your OpenAI, Anthropic, or Gemini call: disclosure, labeling, and audit logging happen inline, no infrastructure to run.
npm · n8n
Community node
Drop a Disclarion node into any n8n workflow and log an interaction with disclosure metadata back, no Python required.
HTTPS
The API itself
The SDK and the node are both thin wrappers around one HTTPS API: call it directly from any language you're already running.
Built for teams without a compliance department
Disclarion is built for small and mid-size SaaS companies, agencies, and businesses running chatbots or AI agents. These are teams that need to meet Article 50 without the budget, headcount, or patience for a large enterprise GRC platform.
Agencies managing several clients: see Enterprise.
Simple, all-inclusive pricing
One plan for most teams, no usage limits. Start with a 14-day free trial: cancel before it ends and you won't be charged.
Pro
$129/mo
For one company: your own product, or a single client.
- Unlimited interaction logs
- Unlimited projects within one organization
- OpenAI, Anthropic, and Gemini
- Python SDK, REST API and the n8n community node
- EU-hosted, insert-only audit trail
- Email support
Enterprise
Contact us
For agencies and teams running AI for multiple clients.
- Everything in Pro, for every client you manage
- Multi-client management under one contract
- Invoice billing, no credit card required
- Custom contract terms and DPA / security review support
- SLA with uptime and response-time commitments
- Dedicated onboarding call
Need SSO, custom roles, or specific data residency? Tell us on the call — we scope these case by case.
Talk to usFair use policy: There is no volume cap on Pro, and logging never stops because of volume. Pro covers one organization. If you run AI products for several different client companies, that's what Enterprise is for. Talk to us.
Built with the same rigor it's asking of you.
We're early, so instead of logos, here's what's actually true about how your data is handled.
Every customer's data is isolated at the database level
Row-level security enforces the boundary in Postgres itself, so a bug in application code can't leak one account's data into another's.
Audit logs are insert-only
No application code path, including the dashboard itself, can edit or delete a log entry once it's written.
API keys are never stored in plaintext
Only a one-way hash is kept, so a database leak alone can't hand over usable keys.
Data is hosted within the EU
The database runs in an EU region (Ireland).
Frequently asked questions
Where is my data stored?
Interaction logs and account data are stored in the EU (eu-west-1, Ireland). Billing is handled by Stripe, which may process payment data outside the EU under standard safeguards. Full list on the sub-processors page.
Does this guarantee legal compliance?
No. Disclarion automates the technical parts of Article 50 that can be automated: disclosure, content labeling, and audit logging. It isn't legal advice, and it doesn't replace a lawyer's review of your specific situation.
Which LLM providers do you support?
OpenAI, Anthropic, and Google Gemini are all supported.
What happens after my trial?
Your 14-day trial starts the moment you sign up. A card is required upfront. If you don't cancel before it ends, billing starts automatically at $129/mo. Cancel any time before then from the billing page and you won't be charged.
Are there any usage limits?
There is no volume cap on Pro, and logging never stops because of volume. Pro covers one organization. If you run AI products for several different client companies, that's what Enterprise is for. Talk to us.
I'm an agency with several clients. Which plan do I need?
Pro covers a single organization. Managing AI products for multiple client companies falls under Enterprise, with all clients under one contract and invoice billing.
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.
Not ready to integrate yet? Leave your email and we'll keep you posted.