Independent education · Sources and limitations documented
Portfolio / Portfolio records

Portfolio record

Source snapshot · 5 November 2026

Pages, the search index and the sitemap always revalidate (Cloudflare default, stated explicitly).

/*
  Strict-Transport-Security: max-age=31536000
  X-Content-Type-Options: nosniff
  X-Frame-Options: DENY
  Referrer-Policy: strict-origin-when-cross-origin
  Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=()
  Cross-Origin-Opener-Policy: same-origin
  Cross-Origin-Resource-Policy: same-origin
  X-Permitted-Cross-Domain-Policies: none

/
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/index.html
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/index
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/library.html
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/library
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/404.html
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/404
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/projects/*
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/simulator/*
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/pages/*
  Content-Security-Policy: default-src 'self'; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; frame-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self'; worker-src 'self'; form-action 'none'; upgrade-insecure-requests
  Cache-Control: public, max-age=0, must-revalidate

/downloads/*
  Content-Security-Policy: sandbox; default-src 'none'; style-src 'unsafe-inline'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'

# Pages, the search index and the sitemap always revalidate (Cloudflare default, stated explicitly).
/search-index.json
  Cache-Control: public, max-age=0, must-revalidate

/sitemap.xml
  Cache-Control: public, max-age=0, must-revalidate
Source and scope

Published from CM-2026/tools/site/security-headers.txt at revision 1af32eda28e3. Full source text is retained; HTML presentation does not establish independent clinical review. See authorship, provenance and review records.