Clickjacking and framing controls
Use CSP frame-ancestors as your primary control for modern browsers. Keep X-Frame-Options set to DENY or SAMEORIGIN for legacy compatibility.
Example header
X-Frame-Options: SAMEORIGIN
A practical checklist for X-Frame-Options, Referrer-Policy, X-Content-Type-Options, Permissions-Policy, COOP, and CORP.
10 min read • Engineering managers, full-stack teams
Use CSP frame-ancestors as your primary control for modern browsers. Keep X-Frame-Options set to DENY or SAMEORIGIN for legacy compatibility.
X-Frame-Options: SAMEORIGIN
Set X-Content-Type-Options to nosniff to prevent MIME confusion attacks. Use Referrer-Policy strict-origin-when-cross-origin for balanced privacy and analytics.
Set a Permissions-Policy to explicitly deny browser features you do not use (camera, microphone, geolocation, usb).
COOP and CORP improve process isolation and reduce abuse of cross-origin windows/resources. They are especially important for high-sensitivity dashboards and admin panels.
Run an automated header scan in CI/CD and after each edge/proxy change. Treat header regressions as release blockers for internet-facing services.
Use one shared checklist across engineering and security so ownership is clear and remediation is fast.