⚠️ EU AI Act · August 2, 2026 deadline · Free

AI Disclosure Generator for Web Developers

Drop-in disclosure labels for the AI parts of a modern web build — AI-drafted landing copy, Copilot/Cursor-generated code, GPT-powered support bots, AI-written docs, and AI-built client sites — built so you stay compliant with the EU AI Act and don't inherit your clients' exposure.

What a compliant AI-built landing page looks like

acme-saas.com
🤖 AI-drafted copy · Reviewed by the Acme team

Ship product 10x faster with Acme

The all-in-one platform for indie founders who refuse to pay for fifteen separate tools.

© Acme · Marketing copy drafted with Claude 3.5 Sonnet and reviewed by the Acme team. Code human-authored. AI disclosure →
AI-assistedCopilot + Cursor docsAI-drafted
## Disclosure
  Code AI-assisted with GitHub Copilot and Cursor. Docs AI-drafted with Claude 3.5 Sonnet and reviewed by maintainers. See /ai-disclosure for details.

Where AI shows up in a typical web build

📝

AI-drafted landing & marketing copy

Headlines, hero subhead, feature blurbs, pricing-page copy, and SEO meta drafted by Claude or GPT. This is the part of the build that is most clearly "public output" under Article 50 — the generator emits a top-of-page banner plus JSON-LD CreativeWork with the AI tool as creator and you as reviewer.

🤖

GPT or Claude support chatbots

Intercom Fin, Crisp MagicReply, Pylon, custom OpenAI Assistants, or self-hosted llama.cpp answers embedded in the product. Highest-disclosure case — its own Article 50 clause for "systems that interact with natural persons." The generator outputs the opening message, persistent footer, and JSON-LD ChatAction.

💻

Copilot, Cursor & Claude Code-generated code

Not Article 50 in scope (source code isn't public output) but a strong open-source norm. The generator emits a shields.io-compatible README badge plus a one-line AI-ATTRIBUTION.md snippet so contributors and downstream users see the provenance.

📚

AI-written README & docs

Mintlify, Fern, GitBook, Docusaurus, or VitePress sites where the bulk of the prose is AI-drafted from your spec. Counts as public AI-generated text. The generator emits an above-the-fold callout and a JSON-LD TechArticle schema entry.

🌐

AI-built client landing pages (agencies)

The deliverable that gets agencies in trouble fastest. You ship the site, the client is the legal deployer, both of you are exposed contractually. The generator's "agency handoff" output bundles the banner, JSON-LD, and a delivery-doc snippet to drop into the handoff contract.

📎

AI-generated images, OG cards & logos

Midjourney, DALL·E, or Flux output used as hero illustrations, OG cards, or favicon variants. Article 50 covers "synthetic image" output. The generator emits a corner overlay snippet, an alt-text attribution pattern, and a JSON-LD ImageObject with the model identifier.

The web-developer case for AI disclosure

The reflex from a lot of full-stack engineers and small agencies has been: "The EU AI Act is for OpenAI and Meta, not for me pushing a Next.js site to Vercel." Article 50 doesn't pattern-match on company size. It applies to providers and deployers of AI systems whose output is "made available to the public" — which catches AI-drafted landing copy on a client domain, a GPT support chatbot wired into your SaaS, AI-generated images on a product page, and AI-written docs. There is no employee-count threshold, no single-developer exemption, and no "just a side project" carve-out. The geographic gate is whether any visitor or user is in the EU, which for any public site indexed by Google is essentially always yes.

The headline penalty is €15 million or 3% of global turnover. A solo developer probably isn't the regulators' first stop, but the practical exposure arrives much earlier than the regulator. Hosting providers (Vercel, Netlify, Cloudflare) are rolling out AI-attestation prompts through 2026. Agency clients are inserting AI-disclosure indemnity clauses into delivery contracts and increasingly checking that the shipped site already has the labels in place. Open-source maintainers downstream of AI-generated PRs are pushing for provenance norms. The cheapest insurance is a per-surface disclosure on the AI elements that actually appear in your build — nothing more, nothing less. This generator emits that disclosure in four formats simultaneously: HTML banner, README badge, footer block, and JSON-LD schema.

The six AI elements web developers actually ship

You don't need to label everything. The presets map to the six real cases:

Where to place the disclosure inside a typical Next.js or Astro build

The legal text says "clearly and distinguishably perceptible at the latest at the time of the first interaction or exposure." For a web build, that translates to three placements that survive how visitors actually consume the page:

JSON-LD schema: machine-readable proof for crawlers, auditors, and clients

Big platforms negotiate compliance reporting with regulators directly. A small dev shop can't — which makes machine-readable schema the practical equivalent of an audit log for everyone else. The generator outputs schema with the AI tool named in the creator field, the human reviewer (you or the team) named in editor or reviewer, the model identifier carried in identifier, and a dateModified stamp. Search engines, the European Commission's AI Office, and modern attestation tooling all parse this format. If a client or platform ever asks you to demonstrate compliance for a particular page, the schema is your default answer — and unlike a screenshot, it travels with the page.

What this is not: code license, attribution, GDPR consent, and a SOC 2 attestation

An AI disclosure tells a visitor that an asset was AI-generated. A code license tells downstream users what they can do with the code. An attribution file tells contributors which AI tools were used. GDPR consent tells the user how their data is processed. A SOC 2 report tells an enterprise buyer what your security posture is. Five different documents.

Developers regularly try to roll these into one fine-print block or pretend an MIT license header is enough. Regulators have been explicit that this doesn't satisfy any of them. The W3C's emerging content-provenance work and the C2PA Content Credentials standard both treat AI labeling as a distinct artifact that should ship alongside license metadata, not merged into it. The AI label goes on the AI surface. The license goes in LICENSE. GDPR consent lives in your privacy banner. The SOC 2 attestation goes in your enterprise sales doc. The generator focuses on the first only — and does it well.

Compliance vs. theatre: what bad disclosure looks like on a web build

PatternWhat it doesStatus
"Built with AI" in the <meta name="generator"> tag onlyInvisible to the user; perceptible only to crawlersNon-compliant
One line buried in the privacy policyReader has to click through; not at first exposureNon-compliant
Footer-only badge, no above-the-fold tagLost in screenshots and email previewsBorderline
Chatbot disclosure on the homepage but not in the bot itselfDoesn't satisfy the per-conversation ruleAggravated risk
Header badge + JSON-LD in headVisitor and crawler both see itCompliant
Header badge + JSON-LD + chatbot opening message + README badgeVisitor, crawler, contributor, and auditor all see itBest practice

Workflow for a typical dev pipeline

You don't want to revisit the generator on every PR. Template it. Open the generator once, build your standard variants — "AI-drafted marketing copy," "AI-written docs," "AI support chatbot," "AI-generated images" — and check the outputs into the repo as a /components/AIDisclosure React/Svelte/Astro component, an AI-ATTRIBUTION.md at the repo root, and a JSON-LD partial in /lib/seo. On every new page or feature you import the component, pass the AI-tool prop, and ship. CI can lint that any route flagged as aiAssisted: true in your route manifest also imports the component. Start-to-shippable is roughly fifteen minutes for the initial wiring, then near-zero per page after that. The result is a build where AI disclosure becomes part of the type system, not a content-team afterthought.

Frequently asked questions

Do freelance web developers and dev agencies really need to disclose AI under the EU AI Act?

Yes when the AI output is what visitors or clients receive. Article 50 covers AI-generated text, image, audio, and video published publicly — an AI-drafted landing page, GPT-powered support chatbot, or AI-generated marketing copy all count. Copilot output in your backend isn't in scope; the user-facing surfaces are. Aug 2, 2026 deadline. Risk: up to €15M fines and agency-contract indemnity exposure.

If Copilot or Cursor wrote half my code, does the site need a label?

No for the code itself, yes if AI also wrote the visible page copy. Source code isn't Article 50 "public output." The rendered HTML, marketing copy, docs, and chatbot answers are. The generator emits a README badge (open-source norm) separate from the user-facing banner (Article 50 surface).

What about a GPT-powered support or docs chatbot?

Highest-disclosure case. Chatbots get their own Article 50 clause for "systems that interact with natural persons." The disclosure has to appear at the start of every conversation and the bot must not be presented as human. The generator outputs the opening message, persistent footer line, and JSON-LD ChatAction.

I run a dev agency. Whose obligation is the disclosure?

Both, in different ways. The client is the legal "deployer." Agencies sit on the "provider" line for integration and carry contractual indemnity. Clean delivery: ship with the disclosure in place, document it in the handoff, add an "AI components disclosed" line to the delivery contract. The generator's agency-handoff output bundles all three.

Where exactly do I put the disclosure on a Next.js page?

A header badge above the first AI-generated block, JSON-LD in next/head, and (for any public repo) a README badge. Footer-only doesn't satisfy the "first interaction or exposure" rule.

Does this work with Next.js, Astro, SvelteKit, Webflow, Framer, and Vercel?

Yes. The HTML banner pastes into any JSX/TSX layout, Astro component, Svelte file, Webflow custom-code embed, or Framer code component. JSON-LD slots into next/head, Astro's <Head>, svelte:head, or Webflow's site-wide head injection. README markdown renders on GitHub, GitLab, Codeberg.

Generate your AI disclosure for this build, repo, or chatbot

Free, no signup. Pick the AI surfaces your build actually uses, choose a label style, copy the HTML banner, README badge, footer block, and JSON-LD. Done in under 60 seconds — compliant for the August 2026 deadline.

Open the AI Disclosure Generator →