Skip to content

The disclosure field

A disclosure lives on the content it describes, one per entity and translation, in an ai_disclosure field.

Adding the field

Add the field to a bundle from Field UI, or from the table at /admin/config/content/ai-disclosure/fields, which lists every fieldable bundle and both adds and removes the field in one step. The list pages at fifty rows, so a site with fewer bundles than that sees no pager at all.

The Fields tab, with the field present on Article

The Remove button on a row removes the field from that bundle after a confirmation that states what data is deleted. Remove from every bundle does the same across the whole site in one confirmed step; see Uninstalling.

The field's instance settings name a default profile. Content left in inherit mode takes its disclosure from there.

The four modes

An item has one of four modes:

  • inherit (the default) takes the disclosure from the field instance's default profile. An item left this way stores no row at all, so labelling a whole bundle costs nothing in the database, and changing the default profile applies everywhere at once.
  • none suppresses the disclosure. Unlike inherit, it does store a row: deciding not to label is a decision, and it is recorded as one.
  • profile points at a profile, with an optional local description that overrides the profile's.
  • custom carries its own grade, review flag, editorial responsibility, description and its own scope answers.

Scope answers are inherited as one block: the mode that supplies the grade supplies all four answers. An item on inherit or profile takes the profile's answers, not a mix of its own and the profile's - a mixture would be a position nobody ever took. Only the description composes across levels.

The editing widget

Editing the field requires the set ai disclosures on content permission, on top of whatever access the entity itself requires. Without it, the widget is absent from the form and the field's stored value is left untouched on save; viewing the resolved disclosure is not affected.

The widget sits in the entity form's sidebar as a collapsible section, closed by default and sorted after the "Status" tab but before "Authoring information" and "Promotion options". The Disclosure select lists inherit, none, every profile by name, and custom. Custom mode opens the grade select, the human review checkbox and the description, plus the editorial responsibility field once review is ticked, and the four scope questions. Each question is yes, no or not assessed, and nothing is preselected: the module does not answer for you.

The widget in custom mode

Below the fields, the widget states the live consequence of the current selection: whether Article 50(4) requires a label, whether it does not, or whether that is not yet determined - and in that case which question is still open. A grade whose EU icon is none gets a warning that the reader will see nothing.

The "How AI was used" description is markdown. With the AI module installed, the field uses its mdxeditor. In inherit and profile modes the description overrides the profile's own text for this content only.

Suggestions

AI tools can leave a non-binding suggestion on content through the recorder API. The editor sees it on the entity form as a callout with Accept and Dismiss; accepting writes the suggested disclosure into the field, dismissing removes the suggestion. Nothing changes on the content until an editor decides.