# Cloudflare Pages security headers. # CSP is ENFORCING. It is tuned to this site's real resources: Google Fonts, # the Cloudflare RUM beacon, and Turnstile. There are no inline scripts, so # script-src is strict (no 'unsafe-inline'). If anything misbehaves, append # "-Report-Only" to the CSP header name to diagnose without blocking. # NOTE: if Cloudflare "Rocket Loader" is enabled it injects inline scripts and # will be blocked by this CSP — leave Rocket Loader OFF for this project. /* Strict-Transport-Security: max-age=63072000; includeSubDomains; preload X-Content-Type-Options: nosniff X-Frame-Options: DENY Referrer-Policy: strict-origin-when-cross-origin Permissions-Policy: geolocation=(), camera=(), microphone=(), payment=(), usb=() Cross-Origin-Opener-Policy: same-origin Cross-Origin-Resource-Policy: same-origin Content-Security-Policy: default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'; form-action 'self'; img-src 'self' data:; font-src 'self' https://fonts.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; script-src 'self' https://static.cloudflareinsights.com https://challenges.cloudflare.com; connect-src 'self' https://cloudflareinsights.com; frame-src https://challenges.cloudflare.com /api/* Cache-Control: no-store