Skip to content

AI Disclosure

Helps site owners disclose AI involvement in content, in line with Article 50 of the EU AI Act.

The module records, per entity and translation, how AI was involved in a piece of content, and shows that decision to the reader with the official EU labelling icons. It also marks the page for machines, gives editors a compliance report, and offers other modules an API to record AI involvement from code.

The reader-facing disclosure card on an article

See the Release history for what each release added.

What it provides

  • Nine shipped grades of AI involvement, from human_only to ai_deepfake, each stating whether the grade calls for a label. See Grades.
  • Reusable disclosure profiles: write the disclosure once, reference it from any amount of content. See Profiles.
  • An ai_disclosure field with four modes, including a zero-storage inherit mode that labels a whole bundle through the field's default. See The disclosure field.
  • A reader-facing formatter that renders the EU icon, the disclosure sentence, the legal line and an expandable description. See What the reader sees.
  • Machine-readable marking: a schema.org JSON-LD block and a meta tag on the canonical page. See What machines see.
  • Labels on media: the icon on images, video and audio, and labelled copies of video and audio. See Media.
  • A compliance report at /admin/reports/ai-disclosure, with CSV export from the ai_disclosure_csv_export submodule. See The compliance report.
  • Six submodules, all optional: the audit trail, labelled copies of audio and video, the CSV export, icons burned into images, the Tool plugin and the workflow mapping.
  • A recorder API for AI tools to suggest or apply disclosures from code. See For Developers.

Status

In development towards a 1.0 release. Development is tracked in the meta issue: https://git.drupalcode.org/project/ai_initiative/-/work_items/3586640

The module records a decision and shows it. It does not make the decision and does not check it. Whether a given piece of content needs a label is the site's call, with its own counsel. Article 50 collects the dates the shipped configuration assumes and the pitfalls to know before editing it.