docs(si): A2UI integration guidance (draft, needs WG review) — closes #2918 #2919 #2920#3761
docs(si): A2UI integration guidance (draft, needs WG review) — closes #2918 #2919 #2920#3761bokelley wants to merge 2 commits into
Conversation
Adds docs/sponsored-intelligence/a2ui.mdx consolidating three open issues: - Host/brand boundary (#2919): structural invariant — disclosure surfaces live in host chrome; brand A2UI tree cannot suppress, restyle, or impersonate them. - Brand theming (#2918): brand.json palette → A2UI theme tokens, resolved by host with WCAG floors. - User-action measurement (#2920): user-action event flow, mapping to SI engagement metrics, who-fires-what. Marked as draft in the page header pending working-group review. The structural-invariant wording and FTC/EU regulatory citations need legal sign-off before promotion to normative spec. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Incorporates ad-tech-protocol-expert, adtech-product-expert, docs-expert, and security-reviewer feedback on the draft from the previous commit: - Trim heavy header disclaimer; add experimental-status note matching other SI pages - Move sidebar registration from "SI Chat Protocol" to "Concepts" — the page covers theming and measurement, not just chat - Soften "deprecated ui_elements" pre-emption of WG decision - Add capabilities-response example - Tighten the four original MUSTs and add ten more covering content (image impersonation, https-only URLs, text-not-HTML), theme (typed tokens, deterministic substitution), action (name syntax, LLM-prompt fencing), and operational (tenant scoping, render budget, host validation) - Add brand-attribution-vs-disclosure clarifier with Google Shopping / Amazon SP / Apple Search Ads precedent for brand audience - Add event_id correlation requirement on user-action signals; require host-stamped time - Add IntegrationAction / AppHandoff hardening - Add drop telemetry and follow-ups sections enumerating open questions for WG resolution Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Expert review pass — what changedRan the draft through ad-tech-protocol-expert, adtech-product-expert, docs-expert, and security-reviewer in parallel. Results below, with a high-confidence revision pushed in 254fbc1. Protocol expert (sound-with-caveats)
Product expert (mixed — adoption gaps)
Docs expert (close to landing)
Security reviewer (the big one — many real bypass vectors)The four MUSTs covered the obvious case (text impersonation inside the container) but missed several attack surfaces. Added ten additional invariants organized into four buckets — Container, Content, Theme, Action, Operational. Highlights:
All the above landed in 254fbc1. Ready for @pkras review@pkras you opened all three issues (#2918, #2919, #2920); review request is on this PR. The structural-invariant section is now substantially expanded — would value your read on whether the 14 MUSTs are at the right altitude for guidance vs. spec, and whether the brand-attribution clarifier reads cleanly to a host implementer. cc working-group reviewers — flagged |
Summary
Consolidates three open A2UI integration issues into a single new page at
docs/sponsored-intelligence/a2ui.mdx:brand.jsonpalette/typography → A2UI theme tokens, with the host as resolver (because the host owns its component catalog and a11y floors). Explicit table mappingbrand.jsonfields to typical theme roles.user-actionflow (host → SI agent for turn-driving, host → AdCP for engagement counting), proposed mapping table, "who fires what" table.Why this is a draft
The page is marked
**Draft — pending working-group review**at the top. Two pieces specifically need human eyes before this becomes normative:specification.mdx(with normative section numbers) and possibly adding renderer-side guidance toimplementing-si-hosts.mdx. Right now they live as integration guidance, which is the safer landing zone.<Note>. Counsel should confirm the wording before any of this is read as legal guidance.The action-name vocabulary question (standardize cross-host vs leave brand-defined) is also flagged inline as an open question on #2920.
What this PR does NOT change
a2ui/*.jsonandsponsored-intelligence/*.jsonare untouched.specification.mdx. If WG accepts the structural invariant, that's a follow-up.Files
docs/sponsored-intelligence/a2ui.mdx(new)docs.json(sidebar registration in two locations — current + versioned 3.0.0 trees).changeset/a2ui-integration-guidance.md(empty changeset; docs-only)Test plan
npm run docs:devrenders the page without broken linkscc @pkras
🤖 Generated with Claude Code