Verification runbook
Use this after deploy or when onboarding a new partner origin.DNS
- Confirm Cloudflare record is DNS only (grey cloud).
- Fetch embed HTML and verify response headers do not include
cf-rayorserver: cloudflare.
CSP
- Load
https://embed.withheadlight.com/chart/v<version>/index.html. - Assert
Content-Security-Policymatches the published policy for chart surfaces. - Confirm
frame-ancestorslists only approved partner origins.
Artifact integrity
- Fetch
https://embed.withheadlight.com/versions.json. - Compare
assetDigeststo files served under the pinned version prefix.
Mint route
- Mint with allowed
frameOrigin→ 200. - Mint with disallowed origin → 400.
- Mint without
embed:chartpermission → 403.
Framing
- Load partner page that embeds the chart.
- Confirm iframe receives
ready, postsrender, and receivesrendered. - Click a node and confirm
nodeClickreturns partner-scoped IDs.
Bundle absence
Runbun run embed:build then the embed bundle cleanliness test. The artifact must not contain Sentry, PostHog, Prisma client code, report-uri, Google Fonts links, or dangerouslySetInnerHTML.