Analyze HTTP security headers for any URL. Check for HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, CORS, and more....
Analyze HTTP response headers for security best practices. Grade websites A-F with actionable recommendations.
bash
python3 scripts/scan_headers.py <url>
bash
python3 scripts/scan_headers.py <url1> <url2> <url3>
bash
# Text (default)
python3 scripts/scan_headers.py <url>
# JSON
python3 scripts/scan_headers.py <url> --format json
# Markdown report
python3 scripts/scan_headers.py <url> --format markdown
HeaderImpactDescriptionStrict-Transport-SecurityCriticalHTTPS enforcement, preload, max-ageContent-Security-PolicyCriticalXSS/injection prevention, directive analysisX-Frame-OptionsHighClickjacking protectionX-Content-Type-OptionsHighMIME sniffing preventionReferrer-PolicyMediumInformation leakage controlPermissions-PolicyMediumBrowser feature restrictionsX-XSS-ProtectionLowLegacy XSS filter (deprecated but checked)Cross-Origin-Opener-PolicyMediumCross-origin isolationCross-Origin-Resource-PolicyMediumResource sharing controlCross-Origin-Embedder-PolicyMediumEmbedding restrictionsCache-ControlMediumSensitive data cachingX-Permitted-Cross-Domain-PoliciesLowFlash/PDF cross-domainClear-Site-DataInfoLogout/session clearingX-DNS-Prefetch-ControlLowDNS prefetch controlContent-TypeHighCharset and MIME type
Server header revealing version infoX-Powered-By header presentX-AspNet-Version or similar tech disclosureExit codes:
0 — Grade A or better1 — Grade B-C (warnings)2 — Grade D-F (failures)Use --min-grade B to set custom threshold:
bash
python3 scripts/scan_headers.py https://example.com --min-grade B