What problem does it solve? Teams adding an embeddable chat widget or in-app assistant often reuse the server-to-server agent behind a browser iframe, which combines private data, untrusted user input, and egress into a single high-risk surface. This Skill enforces that HTTP/SSE and iframe delivery are separate product tiers with different capability sets, preventing designs that ship an anonymous public entry point to an agent holding production credentials. ## Core Features & Use Cases - Tier capability table: Defines which tools each surface may hold — shell and write tools for authenticated server-to-server callers, a read-mostly published subset for end-user iframes, and no write tools at all in anonymous tiers. - Session and identity design: Specifies RFC 8693 token exchange for authenticated end users, fixed minimum-authority identities for anonymous sessions, and short-lived audience-bound session tokens minted by the customer's backend. - Browser hardening checklist: Covers origin isolation, sandbox attributes, per-tenant CSP frame-ancestors, postMessage origin validation, and per-session cost caps with hard spend limits. - Use Case: When reviewing a proposal to embed the existing agent in a customer-facing support widget, use this Skill to reject shared-surface designs and produce a tier table where the iframe holds only a scoped session token and read-only tools. ## Quick Start Review my proposal to embed our server-to-server agent as a public chat iframe and produce the capability tier table for both surfaces.