# Shared security headers. `include`d in the server block AND in every location that # sets its own add_header - a location-level add_header REPLACES inherited headers # rather than merging them (the classic nginx footgun). # # HSTS is host-scoped: NO includeSubDomains / preload, because the *.bztmon.com # wildcard points elsewhere and forcing HTTPS estate-wide from here would be reckless. # HTTP->HTTPS upgrade is Cloudflare's job. add_header Strict-Transport-Security "max-age=31536000" always; # script-src 'self' with NO 'unsafe-inline'. build.sh externalises every script and # hard-fails if an inline