Security headers are some of the highest-leverage, lowest-effort defences a web app can deploy, yet they are easy to forget. Paste your HTTP response headers here and get an instant A-F grade with a per-header breakdown and the exact value to add for anything that fails — all computed in your browser, nothing uploaded.
How it works
The grader parses your pasted headers into name/value pairs (case-insensitive) and runs each through a specific rule, not just a presence check:
- Content-Security-Policy (25 pts) must be present and free of
unsafe-inline/unsafe-eval. - Strict-Transport-Security (20 pts) must have
max-ageof at least six months. - X-Content-Type-Options (10 pts) must equal
nosniff. - X-Frame-Options (10 pts) must be
DENY/SAMEORIGIN, or CSPframe-ancestorsmust be set. - Referrer-Policy (10 pts) must be one of the privacy-preserving values.
- Permissions-Policy (8 pts) present.
- COOP (6), CORP (6), COEP (5) set to their isolation values.
Points for passing checks are summed and divided by the maximum to produce a percentage, which maps to a letter grade: A at 90%+, B at 75%+, C at 60%+, D at 45%+, E at 25%+, and F below that.
Example
curl -sI https://example.com
Paste the output. A site with HSTS, a clean CSP, nosniff, DENY, and a strict referrer policy but no
Permissions-Policy or cross-origin headers typically lands around a B — solid core protection with
room to add isolation headers.
Notes and tips
- Prioritise CSP and HSTS first; together they are over 40% of the score and block the most damaging attacks (XSS and protocol downgrade).
- Build CSP in report-only mode first (
Content-Security-Policy-Report-Only) to find violations before enforcing, then switch to the enforcing header. - Set headers at the edge (reverse proxy or CDN) so they apply uniformly to every response, including error pages and static assets.