What machines see¶
On the canonical page of any entity with a resolved disclosure, the module
adds two things to the document head: a schema.org JSON-LD block and a
<meta name="ai-disclosure"> tag. Both are on by default and each has its
own checkbox on the Output tab.
The JSON-LD block¶
The block carries digitalSourceType, the schema.org property whose values
echo the IPTC digital source type vocabulary. A grade stores the
IPTC URI. The module translates that URI into the matching schema.org
enumeration member, which is the form Google's structured data documentation
asks for. Three IPTC terms have no schema.org member yet, and those come out
as the IPTC URI itself.
Those URIs start with http://. The IPTC vocabulary declares its own
identifiers that way, and schema.org repeats the same http:// URIs in its
skos:exactMatch statements. Changing the scheme would name a different
resource.
The @type is Article for nodes. A media entity gets ImageObject,
VideoObject or AudioObject when the module maps its source plugin, and
MediaObject when it does not. Everything else gets CreativeWork. A site that
needs another type replaces the ai_disclosure.machine_readable service
through a ServiceProvider; see For Developers.
The meta tag¶
The tag carries the grade, the verdict and the icon:
<meta name="ai-disclosure" content="ai_summarized; required=undetermined; icon=ai_generated">
required is one of required, not-required or undetermined, spelled out
rather than reduced to 0 or 1. A consumer reading a zero could not tell
"assessed and out of scope" from "not assessed", and that is the distinction
the assessment exists to make. Where an evidently artistic
work limits the manner of the disclosure, modality=unobtrusive is appended.
Sites reading the previous required=0 / required=1 form need to be told:
this is a published format that changed.
Media¶
Media only get the marking where media entities have a canonical page of
their own. Drupal ships media.settings.standalone_url disabled, which
leaves /media/1 without a page to mark.
Scope¶
This marking is a page-level signal for crawlers and aggregators. Article 50(2) asks a provider to mark the file itself, and a JSON-LD block does not survive someone saving the image. C2PA and watermark embedding stay out of scope for 1.0.