Docs
Everything you need to ship Article 50 disclosures. Get your keys from a product in your dashboard.
Embedding the widget
Add one script tag to your site. It auto-initialises from data-key(your product's public key) and renders the disclosure notice in an isolated Shadow DOM. It is under 15 KB gzip, has zero dependencies and sets no cookies.
Auto-init
<script src="https://disclosekit.eu/widget/v1.js" data-key="pk_your_key" defer></script>To place the notice yourself (for example inside a chat widget), use the custom element instead:
Manual placement
<disclosekit-notice data-key="pk_your_key"></disclosekit-notice>- Variants: floating badge, top/bottom banner, inline chip, pre-chat notice, configured in the dashboard.
- Languages: English, German and French, auto-selected from the browser with an English fallback.
- Accessibility: the notice uses a live status role, supports keyboard dismissal (Esc) and respects
prefers-reduced-motion. - Impressions: the widget sends a cookie-free beacon that increments an anonymous daily count. No IP is stored.
Machine-readable marking
Article 50(2) asks for AI-generated content to be marked in a machine-readable format. DiscloseKit generates three interoperable signals per content type: HTML metatags, a JSON-LD block, and HTTP header examples. Generate them in the dashboard under a product's Marking tab.
This is a documented convention, not a cryptographic provenance standard. For signed provenance, see C2PA. DiscloseKit does not implement C2PA in this version. The voluntary EU Code of Practice on transparency of AI-generated content describes how to operationalise the duty.
Marking API
On paid plans, each product has a secret API key (sk_…). POST a content type to get the marking snippets back as JSON. Every call is written to your evidence log.
POST /api/v1/mark
curl -X POST https://disclosekit.eu/api/v1/mark \
-H "Authorization: Bearer sk_your_secret_key" \
-H "Content-Type: application/json" \
-d '{"content_type":"image","url":"https://acme.com/asset.png"}'content_type must be one of text, image, audio, video. Pass an optional url to embed it in the JSON-LD. Responses include metaTags, jsonLd and httpHeader.
Sources
- AI Act Article 50
- AI Act Article 113 (application dates)
- European Commission, AI Act Service Desk, Article 50
- Small businesses' guide to the AI Act
- EU Code of Practice on transparency of AI-generated content
- AI Act: general-purpose AI models
This is compliance tooling, not legal advice. Consult counsel for your specific case.