1d52597c1c
The QR on /p/<id> and /p/<id>/<slug> was drawn by an inline <script>, but the site sends `script-src 'self'` with no 'unsafe-inline'. The browser silently refused to run it, so the QR box rendered as an empty white square on every member page, not just Funnel Factory ones. Moved the bootstrap to /page-qr.js and pass the link via a data attribute, so no page data is interpolated into executable script and the CSP stays as strict as it is. Loosening script-src to fix this would have traded a site-wide security property for one widget. This matters more than it looks: these pages go on printed flyers and ad destinations, where an unscannable QR is discovered by the person holding the paper. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>