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 |
|
@pkras — checking in. This consolidates #2918 / #2919 / #2920 into a single page ( WG decision needed before this moves forward:
Legal review of the FTC §255.5 / EU DSA Art. 26 / AVMS framing is gated on WG accept — citations are explicitly flagged for counsel review inline. Could use your eyes when you have a window. |
|
This is a tricky one, my quick take is that container invariants should be promoted to 3.1 spec and theming and actions should stay as guidance. Container invariants are worth promoting because they define a fundamental trust boundary that every SI host needs to enforce consistently. Get this wrong and you have a security and disclosure problem across every surface SI runs on, which is much harder to fix retroactively than if you'd committed early. Theming and action-mapping are a different story. The theming split feels right conceptually but nobody has shipped against it yet, and the action vocabulary question is genuinely unresolved, so locking either into spec before there's implementation feedback is how you end up with a normative section you immediately want to revise. Better to keep those as versioned guidance, name someone to bring them back for 3.2 scoping with real-world evidence, and avoid overcommitting on the parts that are still evolving. Legal review is needed regardless - particularly on the container invariants given the disclosure requirements (FTC, DSA, AVMS). Happy to share with the WG for further input before this moves forward. |
|
Triage read: there is useful material here, but I would not merge this PR as-is. What seems worth salvaging:
This lines up with @pkras's comment: container invariants are likely 3.1-spec material; theming and action mapping should remain versioned guidance until there is implementation feedback. Recommended next step: split this. One focused PR for the host/container trust boundary, and a second docs PR for A2UI theming/action guidance with softer language and explicit open questions. |
|
Aligned with both reads. Two concrete edits to scope this PR to the trust boundary before the split:
One scoping question worth settling before the branch narrows: @pkras's "container invariants" maps clearly to invariants 1–4. Invariants 5–7 (image impersonation, URL canonicalization, text/HTML injection) read as boundary-enforcement too, so likely belong in the spec-track PR. But 8–14 (theme tokens, WCAG substitution, action naming, LLM fencing, multi-tenant isolation, render budget, catalog validation) are less clear — the security reviewer flagged real vectors there, but they may be guidance-shaped even with MUST language. Worth a quick WG thread to confirm which bucket before the branch narrows. Once #2918 and #2920 are re-opened, Triaged by Claude Code. Session: https://claude.ai/code/session_01NWDpGt6R9A25zjfPVr78mR Generated by Claude Code |
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