Control
AI-generated public-interest text published without disclosure
Deployers publishing AI-generated/manipulated text to inform the public on matters of public interest must disclose it is artificially generated — unless human editorial review/responsibility applies.
Informational data, not legal advice. Summaries are TwinEthos's own words and rules have not been reviewed by a lawyer: check the official text before relying on any of it. A guard addresses an item; adding it is not a statement that your code meets any law.
Reach
Law in force in European Union (EU).
The guard to add
Label AI-generated public-interest text as artificially generated where it is published, or hold it as a draft until a named editor reviews it and takes responsibility.
In the code that turns model output into a published article, post, or tweet (WordPress or Ghost post creation, create_tweet, cms.publish), one of two paths is enforced: the published item carries a visible disclosure (byline or label stating the text was AI-generated) rendered with the content, or the item is created as draft or pending and only an editorial-review step publishes it, recording the reviewing editor and the person or organization holding editorial responsibility. No path posts model output directly with status 'publish' and neither marker.
Where it goes: 9 AI output handling, 1 application source code, 14 user-facing text.
What reviewers look for: either a disclosure that appears on the published page (in the content or byline template, not only in hidden metadata) or a draft/pending status with a recorded editor approval before publish; no direct model-output-to-publish call in the same path without either.
Example (WordPress REST API (editorial review)), before:
text = client.chat.completions.create(model=MODEL, messages=msgs).choices[0].message.content
requests.post(f'{WP}/wp-json/wp/v2/posts', auth=WP_AUTH,
json={'title': title, 'content': text, 'status': 'publish'})After:
text = client.chat.completions.create(model=MODEL, messages=msgs).choices[0].message.content
post = requests.post(f'{WP}/wp-json/wp/v2/posts', auth=WP_AUTH,
json={'title': title, 'content': text, 'status': 'draft'}).json()
editorial_review.enqueue(post_id=post['id']) # an editor edits, approves, and publishes; approver recordedEngineering guidance, not legal advice. Each provision below may add its own details (a cadence, a deadline, a required notice element): open it for those.
Every rule this guard addresses
Binding law — in force (1)
- European Union (EU)
- AI-generated public-interest text must be disclosed unless under human editorial control (EU AI Act Art. 50(4)) Article 50(4) subpara 2 (public-interest text)