The Ethics and Disclosure of AI-Assisted Content
AI content disclosure in 2026: what the EU AI Act actually requires, how C2PA survives your image pipeline, and disclosure wording that doesn’t quietly lie.
A procurement questionnaire landed in our inbox last year with a question we hadn’t seen before: “For each deliverable, state whether generative AI was used, at what stage, and whether a human reviewed the output.” Eleven words of answer required. It took us three days, because we didn’t actually have a policy, just a set of habits.
That’s the real state of AI content disclosure in 2026. Most studios have habits. Very few have something they could defend in writing to a client’s legal team, a regulator, or a reader who asks a direct question. The gap matters more now: from 2 August 2026 the transparency obligations in Article 50 of the EU AI Act apply, and “we didn’t think about it” stops being an answer.
This isn’t a piece about whether you should use AI. You already are, or you’ve decided not to. It’s about what you owe the people reading, buying and inheriting the work.
- Disclosure exists to protect the reader’s decision-making, not to confess a sin. If knowing a machine drafted something would change how a reader weighs it, disclose. If it wouldn’t, a blanket site-wide banner is noise.
- EU AI Act Article 50 obligations apply from 2 August 2026 and require machine-readable marking of synthetic audio, image, video and text, plus clear labelling of deepfakes. Metadata alone is the mechanism, not a nice-to-have.
- Your image pipeline almost certainly destroys provenance. Resizing with Sharp or routing through a CDN transform strips XMP and invalidates C2PA signatures unless you explicitly preserve or re-sign.
- In the US, purely AI-generated material has no copyright protection. If your contract promises the client exclusive ownership of deliverables, you have a problem you cannot disclose your way out of.
- AI text detectors are not evidence. OpenAI pulled its own classifier in 2023 for poor accuracy, and published research found detectors systematically misflag non-native English writers. Never use one to accuse a contractor.
What disclosure is actually for
Three separate pressures get collapsed into one word, and that’s why most policies are incoherent.
The first is reader harm. A reader uses the origin of a claim to decide how much to trust it. A product review, a medical explainer, a case study, a testimonial: in all of these, “a person with direct experience wrote this” is load-bearing information. If that’s false, the reader has been misled regardless of whether the prose is good.
The second is legal exposure. Regulators care about a narrow slice: synthetic media that could deceive about a real person or event, fake reviews and endorsements, and automated systems that a user might mistake for a human. The FTC’s rule on fake and AI-generated reviews, in force since late 2024, carries per-violation civil penalties. That’s not a disclosure question, it’s a don’t-do-it question.
The third is search and platform policy, and it’s the one most people over-weight. Google has been explicit since 2023 that it rewards helpful content regardless of how it was produced, and its spam policies target scaled content abuse, meaning volume produced primarily to game rankings. There is no disclosure tag that rescues thin content, and no penalty for undisclosed AI assistance on a genuinely useful page. Writing a disclosure line for SEO reasons is a category error.
Get clear on which of the three you’re solving, because the correct action differs. Reader harm calls for in-page wording. Legal exposure calls for machine-readable metadata and record keeping. Search calls for better content.

Three tiers of AI content disclosure that hold up
Binary labels fail immediately. Nearly everything published now has some machine involvement, from spell check upward, so “AI generated: yes/no” collapses into either universal yes or dishonest no. We use three tiers internally and they survive client scrutiny:
- Assisted. A human wrote the substance. A model helped with outlining, rephrasing, grammar, translation, alt text or code comments. No disclosure required. Spell check didn’t need a label either.
- Generated and verified. A model produced the first draft or substantial sections. A named human with relevant competence checked every factual claim, rewrote for voice, and takes responsibility for it. Disclosure recommended on anything where provenance affects trust: reviews, experience claims, technical recommendations, anything with a byline implying expertise.
- Generated, unverified. Published without a competent human checking the claims. Disclosure mandatory, and honestly, don’t publish it. If it’s not worth a human’s twenty minutes to verify, it isn’t worth a reader’s four minutes to read.
The useful property of this scale is that it maps to accountability rather than tooling. The question “who is answerable if this is wrong?” has a human name attached in tiers one and two, and no name in tier three. That’s the actual distinction readers care about.
The images-and-faces exception
Synthetic imagery gets stricter treatment than text, and it should. A photorealistic image of a person or place carries an implicit claim that the camera was there. Generated product shots, generated “team” photos, generated case study screenshots: label these every time, even in tier two. We’ve turned down requests for generated headshots of people who don’t exist on an agency’s about page. The convenience is real. The downside, when a prospect reverse-searches a face, is terminal.
What the law requires in 2026
Three regimes matter for a studio shipping client sites.
EU AI Act, Article 50. Providers of generative systems must mark outputs in a machine-readable format detectable as artificially generated. Deployers who publish synthetic text on matters of public interest, or deepfakes of real people, must disclose that too. Obligations apply from 2 August 2026. Practically, if you publish into the EU market, the model vendor handles the marking at generation time, but you carry the deployer-side labelling duty. Your defence is a record of what was generated, by what, when, and who reviewed it.
Copyright. The US Copyright Office’s January 2025 report restated the position: human authorship is required, and material that is purely machine-generated is not protectable. Prompting, however elaborate, does not make you the author. Selection, arrangement and substantial human modification can produce a protectable work, but only as to the human contributions. If your master services agreement assigns “all intellectual property in the deliverables” to the client, and forty percent of the copy has no copyright to assign, you’ve promised something you can’t deliver. We amended our standard contract to warrant human authorship of all written and visual deliverables, which in turn forced an internal rule about how copy gets produced.
Model licensing. Output terms differ by vendor, and self-hosted open-weight models bring their own restrictions on commercial and downstream use. We covered the detail of that in open source models in production; the short version is that “open” in a model card rarely means what it means in software.
Machine-readable provenance, and why your pipeline destroys it
For images, the two standards that actually ship are IPTC Digital Source Type and C2PA Content Credentials. IPTC is a single controlled-vocabulary field in XMP. C2PA is a cryptographically signed manifest covering the asset and its edit history, backed by Adobe, Microsoft, the BBC and several camera manufacturers.
Setting the IPTC field is trivial with exiftool:
# trainedAlgorithmicMedia = created entirely by a generative model
exiftool -XMP-Iptc4xmpExt:DigitalSourceType="https://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia" \
-overwrite_original hero.jpg
a real photo with generative fill or extension applied
exiftool -XMP-Iptc4xmpExt:DigitalSourceType="https://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia" \
-overwrite_original team-photo.jpg
Here’s the part the listicles skip. Every resize, recompress or format conversion in your build strips that metadata by default. Sharp drops all non-essential metadata unless you ask it not to, and Sharp 0.33 added explicit methods for this:
const sharp = require('sharp');
await sharp('hero.jpg')
.resize({ width: 1600 })
.keepXmp() // preserves the IPTC DigitalSourceType block
.keepIccProfile()
.toFile('hero-1600.jpg');
C2PA is harder, because the manifest is signed over the pixel data. Resize the image and the signature no longer validates. You cannot “preserve” a C2PA claim through a transform; you have to re-sign the derivative with c2patool and an ingredient reference to the original. Most CDN image services (and every major social platform) strip the manifest entirely, so treat C2PA as valid at the source of truth and unreliable at the edge. If you’re generating multiple widths anyway, as described in our notes on responsive images and srcset, add the metadata step after resizing, not before.
For text there is no equivalent that works. Statistical watermarking of generated text degrades under light editing, and schema.org still has no dedicated property for synthetic authorship. Anyone who tells you to add an aiGenerated field to your JSON-LD is inventing vocabulary that no consumer reads. Use visible, human-readable disclosure for text, and stop looking for a tag.
Disclosure patterns that read like honesty, not legalese
Placement beats wording. A disclosure in the footer of a 2,000 word article is technically present and practically invisible. Put it near the byline, above the fold, in the same visual weight as the author name.
<div class="byline">
<img src="/img/authors/pk.jpg" alt="" width="40" height="40">
<p>By <a rel="author" href="/team/priya">Priya Kulkarni</a>,
Senior Developer. Published 14 March 2026.</p>
<p class="disclosure">
First draft produced with Claude Sonnet. All benchmark figures
re-run locally and all code tested before publication by the author.
</p>
</div>
Notice what that sentence does: it names which stage used the model and what the human actually verified. Compare it with the standard boilerplate, “this article may contain AI-generated content,” which tells the reader nothing, protects nobody, and signals that you’d rather not discuss it. If you’re going to disclose, be specific enough that the disclosure is useful. Vagueness is worse than silence.
In WordPress, store the tier as post meta rather than typing a sentence into each post, so you can audit it later and change the wording site-wide:
// functions.php
add_action( 'init', function () {
registerpostmeta( 'post', 'scwaitier', [
'type' => 'string',
'single' => true,
'showinrest' => true, // exposes it to the block editor sidebar
'authcallback' => fn() => currentusercan( 'editposts' ),
] );
} );
function scwaidisclosure(): string {
$tier = getpostmeta( gettheID(), 'scwaitier', true );
return match ( $tier ) {
'generated_verified' => '<p class="disclosure">Drafted with generative AI. '
. 'Fact-checked and edited by the named author.</p>',
'generated_raw' => '<p class="disclosure disclosure--strong">'
. 'Machine-generated. Not reviewed by an editor.</p>',
default => '', // 'assisted' and unset render nothing
};
}
Rendering nothing for the assisted tier is a deliberate choice, and it’s the one clients argue about most. Our position: labelling grammar assistance as AI content devalues the label on the pages where it matters. If every page says the same thing, readers learn to ignore it within a week. We’ve built this pattern into theme templates often enough that it’s now part of our standard content model, alongside author and review date, and it drops cleanly into a block theme or a CanvasWP build without touching the editor workflow.
The policy that actually gets followed
A twelve-page AI ethics document gets read once. What works is four rules on the project wiki that fit on a screen:
- Named accountability. Every published piece has one human name attached who has verified it. No shared bylines on generated drafts, no “the team”.
- No synthetic experience. Testimonials, case study numbers, “we tested this” claims and reviews are human-sourced or they don’t ship. This is the line that keeps you out of FTC territory.
- Client-visible by default. Tell the client which stages used models before they ask. We put it in the proposal. It has lost us exactly one project and won us three, because the ones who ask are the ones who care.
- Retain the trail. Model name, version, date and reviewer in post meta or the CMS. Under the EU AI Act, being able to produce that record is most of the compliance burden.
One thing to explicitly ban: AI detectors as evidence. They produce false positives at rates that make them unusable for accusations, and published research has found they disproportionately misclassify writing by non-native English speakers. OpenAI retired its own text classifier in 2023 for low accuracy and has not replaced it. If you suspect a contractor handed you unreviewed output, read the work and check the facts. That’s slower, and it’s the only method that holds up.
Where this advice does not apply
Internal documentation, meeting notes, draft specs, commit messages and code comments: no disclosure, ever. Nobody’s trust decision depends on who wrote the changelog.
Translations are genuinely contested. Machine translation has been standard for twenty years and labelling it now would be odd, but an unreviewed machine translation of safety or legal copy is a different matter. Our rule is that reviewed translations need no label and unreviewed ones shouldn’t be published, which is the same test as everything else.
Conversational interfaces have their own requirement, and it’s not a disclosure line in the footer. A chat widget must identify itself as automated at the point of interaction, which we argued for on practical as well as legal grounds in our piece on AI chatbots on marketing sites. Users who think they’re talking to a person and discover otherwise mid-conversation don’t come back.
Frequently Asked Questions
Does Google penalise AI-generated content?
No, not for being AI-generated. Google’s stated position since 2023 is that it rewards high quality, helpful content regardless of production method, and its spam policies target scaled content abuse, meaning mass-produced pages whose primary purpose is manipulating rankings. Thin, unverified output gets filtered because it’s thin, not because a model wrote it. Adding a disclosure line changes nothing about ranking either way.
Do I have to label AI content under the EU AI Act?
If you publish synthetic text on matters of public interest, or any deepfake of a real person, into the EU market, then yes, and those Article 50 transparency obligations apply from 2 August 2026. Marketing copy that a human has reviewed and taken responsibility for generally falls outside the deployer labelling duty, but the machine-readable marking duty on the generating system still applies upstream. Keep a record of model, version and reviewer regardless; producing that record is most of what any audit will ask for.
Can I copyright content a model wrote for my client?
Not the purely machine-generated parts, under current US guidance. The Copyright Office’s position is that human authorship is required, and prompting does not confer it, though human selection, arrangement and substantial editing can produce protection for those contributions. If your contract assigns full IP ownership of deliverables, check that your production process can actually honour it. We now warrant human authorship explicitly rather than discovering the gap during a client’s due diligence.
Is C2PA worth implementing if CDNs strip it?
Yes for the original asset, no as an end-to-end guarantee. Sign and store the manifest on your source files and in your DAM, because that’s where provenance questions get answered months later. Accept that the derivative served to browsers will usually have it stripped, and pair it with an IPTC DigitalSourceType field, which survives any pipeline that preserves XMP.
Should the disclosure go in schema.org markup?
There’s no property for it, so no. Schema.org has no field for synthetic authorship and no search engine consumes one, so inventing aiGenerated in your JSON-LD achieves nothing but a validator warning. Use visible on-page wording near the byline for text, and IPTC or C2PA metadata for images. Revisit if the vocabulary adds something official.
Where to start this week
Pick one thing. Open your CMS, add a single meta field for the disclosure tier, and backfill it for everything published in the last six months. It’s an hour of work and it converts a vague anxiety into a list you can act on. You’ll usually find that most posts are tier one, a handful are tier two, and one or two are tier three and should quietly come down.
Then write the four rules down and put them in the proposal template. Transparency about AI in client work is cheap to offer before anyone asks and expensive to retrofit when a procurement questionnaire arrives. We learned that over three days we’d rather have back.


