AI Disclosure

Declare AI provenance at the page level and element level. Aligned with the WHATWG/W3C Community Group proposal and EU AI Act Article 50.

ASW supports two disclosure surfaces: page-level via <meta> tags in <head>, and element-level via the ai-disclosure attribute for sections of mixed provenance. Both are machine-readable; the element-level attribute also produces subtle visual treatment.


Page-level disclosure

Declare the provenance of an entire page in the <head>. Crawled by agents, indexed by search engines that support the standard.

<!-- Page entirely AI-generated -->
<meta name="ai-disclosure" content="ai-generated">
<meta name="ai-model" content="claude-sonnet-4-6">
<meta name="ai-provider" content="Anthropic">
<meta name="author" content="Vigilio Desto">

All ASW docs pages carry these tags. ai-model and ai-provider are optional but recommended for provenance traceability.

Meta nameValuesPurpose
ai-disclosureai-generated · ai-assisted · autonomous · mixedContent provenance
ai-modelAny stringModel identifier, e.g. claude-sonnet-4-6
ai-providerAny stringProvider name, e.g. Anthropic
Use page-level for whole pages

If the entire page is AI-generated, use <meta> in <head>. Use the element-level ai-disclosure attribute only for sections of a page with mixed provenance.


Element-level disclosure

For pages where different sections have different provenance — some human-written, some AI-generated — use the ai-disclosure attribute on individual elements:

<section ai-disclosure="ai-generated" ai-model="claude-sonnet-4-6">
  <!-- fully agent-generated section -->
</section>

<section ai-disclosure="ai-assisted">
  <!-- human-written, AI-refined -->
</section>

<section ai-disclosure="autonomous">
  <!-- generated in autonomous mode, no human in loop -->
</section>

Visual treatment: a subtle left border. ai-generated is faint; autonomous uses the accent color (green).

This section carries ai-disclosure="ai-generated" — faint green-tinted left border.

This section carries ai-disclosure="ai-assisted" — blue-tinted border.

This section carries ai-disclosure="autonomous" — full accent border.

AttributeValueMeaning
ai-disclosureai-generatedContent created entirely by an AI system
ai-disclosureai-assistedHuman-written, refined or edited by AI
ai-disclosureautonomousAI-generated without human review in the loop
ai-disclosuremixedBlended provenance within the element
ai-modelAny stringModel identifier, e.g. claude-sonnet-4-6
data-show-disclosure(boolean)Add an inline badge showing the disclosure value

Disclosure badge

Add data-show-disclosure to display an inline badge in the element's corner:

<section ai-disclosure="autonomous" data-show-disclosure>
  Autonomous session output.
</section>

This section has data-show-disclosure — the badge shows in the corner.

The badge is generated via CSS ::after using content: attr(ai-disclosure). It floats to the top-right and uses the same color as the border treatment.


Connection to data-session

ASW's session vocabulary predates the disclosure standard but maps to it 1:1. For Vigilio-native pages, data-session blocks already carry the same semantic information:

ASW attributeEquivalent ai-disclosure
data-sessionai-disclosure="ai-generated" (block wrapper)
data-mode="autonomous"ai-disclosure="autonomous"
data-mode="interactive"ai-disclosure="ai-assisted"
data-hashSession provenance (git-addressable)

Use data-session for full session blocks on Vigilio-native pages. Use ai-disclosure for standard-aligned markup on mixed-provenance pages or anywhere interoperability with external tooling matters.

See the Session page for the full data-session vocabulary.


Reference

SurfaceAttribute / MetaValuesDescription
Pagemeta[name="ai-disclosure"]ai-generated · ai-assisted · autonomous · mixedWhole-page provenance in <head>
Pagemeta[name="ai-model"]Any stringModel identifier for the page
Pagemeta[name="ai-provider"]Any stringProvider name
Elementai-disclosureai-generated · ai-assisted · autonomous · mixedElement-level provenance, visual treatment
Elementai-modelAny stringModel that generated this element
Elementdata-show-disclosure(boolean)Display inline disclosure badge