Stand-in customer page — iframe embed of the deployed player

The customer iframes a Resi-hosted player page. Inside the frame video.html carries data-resi-body, so isInOwnFrame() is true, but window.self !== window.top — not standalone. The player and the sign-in page share the Resi origin; both are third-party to whatever host is in your address bar.

identifyViewer travels as a query param and is mapped to data-identify-viewer by standAlone() in the loader, which runs only because data-resi-body is present. The player consults the attribute only when the player profile supplies no mode of its own.

Context

This page
Player origin
Relationship
Frame src

Messages reaching this page

Every cross-origin postMessage delivered to this window, with its origin. This is the leak check: the sign-in result is addressed to the player frame with an explicit targetOrigin, so nothing from the auth flow should ever appear here. A payload carrying a uid or viewerId below means someone passed '*', and every other script on a customer's page would be reading viewer identity.

Same-origin messages are hidden by default. Browser extensions inject content scripts into this page and some post on a timer — React DevTools every 500ms — and they carry this page's own origin. A leak cannot: it would arrive from the player frame, a different origin. Repeats collapse into a count.

nothing yet

What to check

Where to serve this from

Any host except the player's own. Two Cloudflare projects already exist and each pages.dev project is its own site under the Public Suffix List, which makes them a genuine cross-site pair:

Locally, npx vite --port 5050 --host serves this at /iframe-embed-cf.html. That is cross-site too, but localhost is special-cased for storage and cookies in several browsers, so treat a local pass as wiring confirmation only — partitioning and ITP behaviour need the deployed hosts.