Files
warmbly/web/public/_headers
T
Matthew MeszarosandDevin AI 0f12b3b250 feat: preserve static CSP preview and runtime configuration cache rules with current main
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-06 06:05:17 +00:00

32 lines
1.5 KiB
Plaintext

# Security response headers for the Cloudflare Pages deployment of the
# dashboard. The nginx image carries the same set in
# nginx-security-headers.conf; both exist because the hosted service serves the
# frontends from Pages while a self-host serves them from the image.
#
# build:pages fills the built policy's hashes and configured resource origins.
/*
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=(), interest-cohort=()
Content-Security-Policy: default-src 'none'; script-src 'self'; style-src 'self'; object-src 'none'; base-uri 'none'; form-action 'self'; frame-ancestors 'none'
Strict-Transport-Security: max-age=31536000; includeSubDomains
# Hashed build output never changes under a name, so a repeat visit loads every
# page chunk from cache. Same rule as the nginx image.
/assets/*
Cache-Control: public, max-age=31536000, immutable
/mail-preview.html
! Content-Security-Policy
Content-Security-Policy: default-src 'none'; script-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'self'; style-src 'unsafe-inline'; img-src data: https: http:; font-src data: https:; media-src https:
! X-Frame-Options
X-Frame-Options: SAMEORIGIN
! Referrer-Policy
Referrer-Policy: no-referrer
Cache-Control: no-store
# config.js is the runtime configuration and must never outlive a change to it; same rule as the nginx image.
/config.js
Cache-Control: no-store