You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AI provenance isn't the only mandatory label on a creative. #ad / sponsored / native disclosures, health and financial product disclosures, political ad disclosures all want the same position real estate (overlay, footer, subtitle, end_card). The current disclosure object is AI-only.
The downstream effect: publishers will end up reconciling AI render guidance against three other disclosure regimes outside the schema, ad-hoc, per publisher. The user gets a messy stack of labels with no coordination — or worse, mutually-occluding labels.
A disclosures[] array with type discrimination means publishers get one coherent rendering instruction with explicit composition rules, instead of four uncoordinated ones.
Proposed wire shape (strawman)
Replace the AI-only provenance.disclosure with a top-level disclosures[] array on creative manifests / assets. provenance.disclosure becomes one entry with type: ai_provenance:
Independent persistence per disclosure: most-restrictive-wins applies within a single type, not across types.
Position collision policy: when two disclosures both want overlay, publisher's renderer applies a documented stacking order. Strawman: political > ai_provenance > sponsored > health > financial. Open to discussion.
Type vocabulary is closed: enum, not open string, so renderers can implement compositional logic deterministically.
Backward compatibility: spec keeps provenance.disclosure readable for one major version, emits a warning when both old and new shapes are present.
Why this is an RFC, not a workplan ticket
Two strategic questions before this should land in a PR:
Should AdCP own this taxonomy at all? IAB Tech Lab has prior art on sponsored disclosure. The argument for AdCP owning it: we already have AI provenance, the same renderer reads both, and a unified container is more useful to publishers than two coexisting standards. The argument against: forking IAB territory invites a political fight we don't need pre-GA.
If we own it, do we drive the IAB conversation or wait for it? The unified container is a natural place for IAB to contribute sponsored-disclosure prior art rather than fork. But the contribution conversation needs a constituency call. Tier-1 publisher and an IAB Tech Lab participant should be in the room before this turns into a PR.
Both questions are working-group territory. Tagged needs-wg-review.
Out of scope (for this RFC)
Specifying the exact label text per regulation for non-AI types. The pattern from provenance.disclosure.jurisdictions[].regulation is reused; jurisdictional analysis is still the deployer's job.
Migration path for existing provenance.disclosure consumers. Will be handled in the migration RFC if this lands.
Problem
AI provenance isn't the only mandatory label on a creative.
#ad/ sponsored / native disclosures, health and financial product disclosures, political ad disclosures all want the samepositionreal estate (overlay, footer, subtitle, end_card). The currentdisclosureobject is AI-only.The downstream effect: publishers will end up reconciling AI render guidance against three other disclosure regimes outside the schema, ad-hoc, per publisher. The user gets a messy stack of labels with no coordination — or worse, mutually-occluding labels.
A
disclosures[]array with type discrimination means publishers get one coherent rendering instruction with explicit composition rules, instead of four uncoordinated ones.Proposed wire shape (strawman)
Replace the AI-only
provenance.disclosurewith a top-leveldisclosures[]array on creative manifests / assets.provenance.disclosurebecomes one entry withtype: ai_provenance:{ "disclosures": [ { "type": "ai_provenance", "required": true, "jurisdictions": [ { "country": "DE", "regulation": "eu_ai_act_article_50", "label_text": "KI-generiert" } ], "render_guidance": { "persistence": "continuous", "positions": ["overlay", "subtitle"] } }, { "type": "sponsored", "required": true, "label_text": "Sponsored", "render_guidance": { "persistence": "continuous", "positions": ["overlay", "footer"] } }, { "type": "political", "required": true, "jurisdictions": [ { "country": "US", "regulation": "fec_paid_for_by", "label_text": "Paid for by Acme PAC. Not authorized by any candidate." } ], "render_guidance": { "persistence": "continuous", "positions": ["overlay"] } } ] }Composition rules
overlay, publisher's renderer applies a documented stacking order. Strawman: political > ai_provenance > sponsored > health > financial. Open to discussion.provenance.disclosurereadable for one major version, emits a warning when both old and new shapes are present.Why this is an RFC, not a workplan ticket
Two strategic questions before this should land in a PR:
Should AdCP own this taxonomy at all? IAB Tech Lab has prior art on sponsored disclosure. The argument for AdCP owning it: we already have AI provenance, the same renderer reads both, and a unified container is more useful to publishers than two coexisting standards. The argument against: forking IAB territory invites a political fight we don't need pre-GA.
If we own it, do we drive the IAB conversation or wait for it? The unified container is a natural place for IAB to contribute sponsored-disclosure prior art rather than fork. But the contribution conversation needs a constituency call. Tier-1 publisher and an IAB Tech Lab participant should be in the room before this turns into a PR.
Both questions are working-group territory. Tagged
needs-wg-review.Out of scope (for this RFC)
provenance.disclosure.jurisdictions[].regulationis reused; jurisdictional analysis is still the deployer's job.provenance.disclosureconsumers. Will be handled in the migration RFC if this lands.Refs
Priority
Post-GA. RFC stage. Needs WG decision on the two strategic questions before moving to implementation.