Purpose
AI Label helps your team record, confirm, and disclose AI-generated or AI-modified content for EU AI Act Article 50 workflows. Path: AI Foundation > AI Label AI Foundation provides the technical tooling — coverage scores, review lists, visitor-facing badges, and evidence export. It does not guarantee legal compliance. A high coverage number means internal checks pass, not that your site is compliant.Who uses it
- Editors — review AI-touched pages, content elements, and media; confirm or adjust involvement; assign a named reviewer where required.
- Administrators — configure label appearance, auto-confirm rules, and which extension tables participate.
- Compliance / legal — export evidence reports with machine-readable reason codes per record.
Module layout
Overview tab
- Scoreboard — four KPI cards: Confirmed, Awaiting review, Labelled in frontend, Not labelled.
- AI Label coverage — checklist score with collapsible details (what counts, blind spots). Export CSV report from here.
- Media / Texts cards — domain progress rings and quick links.
- Where records came from — counts by recording source (AI Universe, upload detection, editor, other extensions).
- System status — EU icon pack, ImageMagick/EXIF, scheduled audit task.
Media tab
- Folder tree (fileadmin) — browse FAL folders; badge shows open items.
- Filters — search, involvement, label state, file type, confirmed-by, dates, recording source, reason code.
- Table — one row per file metadata record.
- Row actions:
- Edit (open icon) — slide-in drawer to edit AI Label fields and preview visitor label.
- Confirm — mark as confirmed by the current backend user (this content version only).
- Clear — remove confirmation (undo snapshot kept for 10 minutes via bulk undo when applicable).
Texts tab
Same filter/action pattern for pages, content elements, and optional extension tables configured in Settings. Highlights “reviewed, nobody named” rows — a human-review tick without a responsible person name documents nothing; use bulk Assign responsible person or the drawer.Settings tab
Settings are saved in AI Label → Settings and stored intx_nst3af_extension_setting (extension key ns_t3af). Defaults live in Configuration/ExtensionSettings/fields.typoscript.
Frontend label appearance
Machine-readable marking and rules
Automatic confirmation
Per-folder media defaults are configured via EXTCONF
ailabelFolderDefaults (not on the Settings form).
Record drawer fields
Each edit drawer shows:- AI involvement — not reviewed, no AI, AI generated, AI modified, origin unknown, suggestion
- Created on (read-only) — content creation date vs legal cutoff
- Matter of public interest — text records only; editor decision (gate, not a master switch — see Activate visitor labels)
- Reviewed by a named person — required when human review applies
- Labelling — automatic / always / do not label
- Reason for not labelling — exemption vocabulary (compliance-controlled)
- Detected on upload (read-only) — detection hints for media
- What a visitor will see — live preview of label decision
Bulk actions
Select rows with checkboxes, then:- Confirm
- No AI involved
- Do not label
- Set public interest
- Assign responsible person
- Clear confirmation
- Undo last bulk action (10-minute window)
Evidence export
From the action bar or Overview coverage card:- CSV — evidence-relevant records only (recording source set, involvement other than
not_reviewed, or confirmed), with reason codes and confirmation metadata — not a dump of everypages/tt_content/sys_file_metadatarow - Scope by module tab — Media exports
sys_file_metadataonly; Texts exportstt_content+pages; Overview and Settings export all three
rule_default, editorial_control, unreviewed).
How records get AI metadata
- AI Foundation capture — every provider response stores a generation correlation id.
- Bind on save — integrating extensions call
AiLabelBindHelper(orAiLabelRecorderInterface) when a page, content element, file, or custom table row is persisted after AI generation. - Upload detection — optional signals on file import (suggestions only until a person confirms).
- Manual — editors set fields in the record drawer or TCA AI Label tab on pages, content, and file metadata.
Activate visitor labels (text vs media)
Visitor badges are not turned on by a single Settings toggle. Each record must pass its domain rules, and the site must include the frontend TypoScript (see Frontend labels below). Common misconception: setting Matter of public interest to Yes alone does not show a label. That field is only a gate for text (pages / content). It does nothing for media, and text still needs involvement, confirmation, and the review rules below.Prerequisite (both domains)
- Include frontend TypoScript (Site Set
nitsan/ns-t3af-labeland@import, or classic static template “AI Foundation labels”). - Flush caches after changing TypoScript or Site Sets.
- Open the record in the AI Label drawer and check What a visitor will see before expecting anything on the live page.
Media (files / sys_file_metadata)
Public interest does not apply.
- Set AI involvement to AI generated or AI modified (or Always under Labelling).
- Click Confirm (unconfirmed media never shows a visitor label).
- Optional — Settings: Mark the image file (badge after CE vs overlay on the image), stamp size/position.
- Origin unknown only labels when Settings Label unknown origin is Yes.
Text (pages / content elements)
- Set AI involvement to AI generated or AI modified (not “not reviewed” / “no AI”).
- Set Matter of public interest to Yes (required gate; No = no visitor label).
- Human review:
- Leave Reviewed by a named person unchecked → label can show after confirm, or
- Check it and enter a responsible person → label is suppressed (editorial control), or
- Check it without a name → incomplete; treat as needing a name (see Texts tab highlight).
- Click Confirm so the disclosure is intentional for that version.
- Verify What a visitor will see in the drawer, then check the frontend.
Quick checklist
Frontend labels
Visitor badges render after the TypoScript inEXT:ns_t3af/Configuration/TypoScript/setup.typoscript is included. Use the checklist above to activate a record; this section covers how badges are rendered.
Site Set (TYPO3 v13.4+): add nitsan/ns-t3af-label to your own set’s dependencies and @import that setup file. A dependency listing alone does not load TypoScript.
Classic templates: include static “AI Foundation labels” (Web > Template).
When rules pass and a record is confirmed, visitors may see:
- Icon only — EU AI label icon (bundled SVG set)
- Show in site language — short text only (for example “AI generated”, “AI modified”), no icon
- Size and (for image overlays) position from Settings — see tables above
- Content element — drop-in partial after the element body when labelling rules pass. In Overlay on the image mode, media CTypes (
image,textmedia,textpic) skip this CE badge so visitors see a single mark on the image; non-media CTypes still use the drop-in. - Image overlay — only when Mark the image file is Overlay on the image and the file is confirmed AI-generated; position applies here.
<ail:label record="{data}" />, <ail:label file="{image}" />, <ail:recordState>, <ail:fileState>, or the nst3af-label DataProcessor.
Fluid Styled Content ships an image partial override (Resources/Private/Partials/FluidStyledContent/Media/Rendering/Image.html) that wraps the badge when overlay mode is enabled.
TCA integration
Editors can also use the AI Label tab on:- Page records
- Content elements
- File metadata