Check a Website's HTTP Security Headers

Fetches the page and grades Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, the cross-origin isolation headers, cookie flags and CORS.

Public hosts only. About a handful of requests, usually finished in under 15 seconds. How we scan · Acceptable use

How it works

  1. Enter the URL

    We fetch it with a browser-like request and follow redirects.

  2. Headers are parsed, not just spotted

    A CSP with 'unsafe-inline' or an HSTS max-age of a day is flagged as weak, not passed.

  3. Copy the fix

    Each finding includes ready-to-paste values for nginx, Apache and common frameworks.

What this tool checks

29 checks across 3 areas. Each links to its reference page with the test, the risk and the fix.

Full reference

Cookie security

4 checks

HTTP security headers

13 checks

Transport security (HTTPS / TLS)

12 checks

The ones that most often decide the grade:

How HTTP security headers protect a page

Headers give the browser enforceable rules about scripts, framing, transport, content types and powerful device features.

Security headers are response instructions, not decorative metadata. A Content-Security-Policy can restrict script execution, HSTS can prevent an HTTPS connection from being downgraded, and frame controls can prevent another site from placing the page inside a deceptive overlay. Other policies reduce data leakage and disable browser capabilities the site never needs.

The scanner parses the values instead of awarding credit for presence alone. A CSP containing broad wildcards or unsafe script allowances is graded differently from a restrictive policy, and an HSTS header with a very short lifetime is not treated as equivalent to a durable deployment.

Fetch the pageFollow redirects and record the final response headers.
Parse each policyInspect directives, durations, origins, cookie flags and CORS behaviour.
Map gaps to fixesExplain the browser risk and provide implementation guidance.

Security header responsibilities

Each policy closes a different browser attack or privacy path.

Policy familyWhat the scanner reviewsPrimary protection
Content-Security-PolicyScript sources, unsafe allowances, object, base, frame and upgrade directives.Limits script injection and untrusted resource loading.
Strict-Transport-SecurityPresence, max-age, subdomain coverage and preload readiness.Keeps returning visitors on HTTPS.
Framing and MIMEframe-ancestors or X-Frame-Options, plus X-Content-Type-Options.Reduces clickjacking and content-type confusion.
Privacy policiesReferrer-Policy and Permissions-Policy directives.Restricts URL leakage and access to camera, microphone, location and other features.
Isolation, cookies and CORSCOOP, COEP, CORP, cookie flags and cross-origin response behaviour.Separates browsing contexts and protects session or cross-origin data.

How to interpret the header grade

A header can be present, weak or well configured. The value determines the protection.

Policy is effective

The header is present with a value that provides meaningful protection for the tested page.

Missing or unsafe

A missing policy or permissive directive leaves a practical browser attack path open and should be reviewed.

Context-dependent

Some isolation or permissions policies depend on application features. Confirm compatibility before enforcing them site-wide.

Deploy headers safely

  • Set shared headers at the reverse proxy, CDN or framework middleware so error pages and redirects receive them too.
  • Roll out CSP in report-only mode, remove unexpected dependencies, then enforce the tested policy.
  • Apply Secure, HttpOnly and an appropriate SameSite value to every sensitive cookie.
  • Check representative routes because applications and CDNs often vary policies by path.

What this result does not prove

  • The scan sees the response for the entered page; another route, status code or geographic edge may send different headers.
  • A strong header policy reduces impact but does not repair vulnerable application code.
  • The scanner does not execute the entire application to prove that a stricter policy will preserve every feature.

Guides for this tool

Background reading written to go with these results.

Frequently asked questions

Which header matters most?

Content-Security-Policy, because it defeats most cross-site scripting, followed by Strict-Transport-Security. The rest are quick wins.

Why did my CSP get flagged even though it exists?

A policy that allows 'unsafe-inline' in script-src, wildcards, or omits object-src and base-uri leaves the main attack paths open. The report says which directive.

Do I need Permissions-Policy on a plain content site?

It costs nothing and disables camera, microphone and geolocation for any script that ends up on your page, including injected ones.

Is X-XSS-Protection still useful?

No. Browsers removed the auditor it controlled; set it to 0 or omit it and use a CSP.