Skip to main content
CompressNConvert

Security Header Analyzer

Review pasted HTTP response headers for common security controls and actionable configuration gaps.

Runs locally in your browser

Paste-only heuristic review. This page never fetches a URL. Results describe only the pasted response and do not establish security or compliance.

Paste a status line and response headers in Name: Value form.

Parsed response

9 header lines

HTTP/2 200 OK

Needs review

0

Pass

14

Context

0

Configuration signals

Security header checks

HTTP Strict Transport Security

Pass

HSTS has a max-age of at least one year and includes subdomains.

Content Security Policy

Pass

1 enforcing CSP policy was found.

Next step: Review the effective policy in a browser because multiple CSP headers are enforced together.

CSP unsafe directives

Pass

No unsafe-inline or unsafe-eval tokens were found in the effective CSP directives.

CSP object sources

Pass

object-src is explicitly set to 'none'.

Observed value
  • Policy 1: object-src 'none'

CSP frame ancestors

Pass

frame-ancestors places an explicit restriction on embedding.

Observed value
  • Policy 1: frame-ancestors 'none'

MIME sniffing protection

Pass

X-Content-Type-Options is set to nosniff.

Referrer policy

Pass

The selected policy is strict-origin-when-cross-origin.

Observed value
  • strict-origin-when-cross-origin

Permissions policy

Pass

3 explicit feature policies were found.

Next step: Confirm every enabled capability and origin is required by the application.

Observed values
  • camera=()
  • microphone=()
  • geolocation=()

Clickjacking protection

Pass

An enforcing CSP frame-ancestors restriction was found.

Observed value
  • Policy 1: frame-ancestors 'none'

Cross-Origin-Opener-Policy

Pass

COOP is set to same-origin.

Observed value
  • same-origin

Cross-Origin-Resource-Policy

Pass

CORP is set to same-site.

Observed value
  • same-site

Cookie Secure attribute

Pass

Every pasted Set-Cookie value includes Secure.

Observed value
  • session

Cookie HttpOnly attribute

Pass

Every pasted Set-Cookie value includes HttpOnly.

Observed value
  • session

Cookie SameSite attribute

Pass

Every pasted Set-Cookie value has a recognized SameSite setting.

Observed value
  • session: lax

Parsed header lines

HeaderValueLine
Content-Typetext/html; charset=utf-82
Strict-Transport-Securitymax-age=63072000; includeSubDomains3
Content-Security-Policydefault-src 'self'; script-src 'self'; object-src 'none'; frame-ancestors 'none'4
X-Content-Type-Optionsnosniff5
Referrer-Policystrict-origin-when-cross-origin6
Permissions-Policycamera=(), microphone=(), geolocation=()7
Cross-Origin-Opener-Policysame-origin8
Cross-Origin-Resource-Policysame-site9
Set-Cookie[masked sensitive value]10

Analysis JSON

{
  "statusLine": "HTTP/2 200 OK",
  "parsedHeaderCount": 9,
  "ignoredLines": {
    "count": 0,
    "lineNumbers": []
  },
  "summary": {
    "pass": 14,
    "warning": 0,
    "info": 0
  },
  "checks": [
    {
      "id": "hsts",
      "title": "HTTP Strict Transport Security",
      "status": "pass",
      "summary": "HSTS has a max-age of at least one year and includes subdomains."
    },
    {
      "id": "csp",
      "title": "Content Security Policy",
      "status": "pass",
      "summary": "1 enforcing CSP policy was found.",
      "recommendation": "Review the effective policy in a browser because multiple CSP headers are enforced together."
    },
    {
      "id": "csp-unsafe-directives",
      "title": "CSP unsafe directives",
      "status": "pass",
      "summary": "No unsafe-inline or unsafe-eval tokens were found in the effective CSP directives."
    },
    {
      "id": "csp-object-src",
      "title": "CSP object sources",
      "status": "pass",
      "summary": "object-src is explicitly set to 'none'.",
      "evidence": [
        "Policy 1: object-src 'none'"
      ]
    },
    {
      "id": "csp-frame-ancestors",
      "title": "CSP frame ancestors",
      "status": "pass",
      "summary": "frame-ancestors places an explicit restriction on embedding.",
      "evidence": [
        "Policy 1: frame-ancestors 'none'"
      ]
    },
    {
      "id": "content-type-options",
      "title": "MIME sniffing protection",
      "status": "pass",
      "summary": "X-Content-Type-Options is set to nosniff."
    },
    {
      "id": "referrer-policy",
      "title": "Referrer policy",
      "status": "pass",
      "summary": "The selected policy is strict-origin-when-cross-origin.",
      "evidence": [
        "strict-origin-when-cross-origin"
      ]
    },
    {
      "id": "permissions-policy",
      "title": "Permissions policy",
      "status": "pass",
      "summary": "3 explicit feature policies were found.",
      "recommendation": "Confirm every enabled capability and origin is required by the application.",
      "evidence": [
        "camera=()",
        "microphone=()",
        "geolocation=()"
      ]
    },
    {
      "id": "clickjacking",
      "title": "Clickjacking protection",
      "status": "pass",
      "summary": "An enforcing CSP frame-ancestors restriction was found.",
      "evidence": [
        "Policy 1: frame-ancestors 'none'"
      ]
    },
    {
      "id": "coop",
      "title": "Cross-Origin-Opener-Policy",
      "status": "pass",
      "summary": "COOP is set to same-origin.",
      "evidence": [
        "same-origin"
      ]
    },
    {
      "id": "corp",
      "title": "Cross-Origin-Resource-Policy",
      "status": "pass",
      "summary": "CORP is set to same-site.",
      "evidence": [
        "same-site"
      ]
    },
    {
      "id": "cookie-secure",
      "title": "Cookie Secure attribute",
      "status": "pass",
      "summary": "Every pasted Set-Cookie value includes Secure.",
      "evidence": [
        "session"
      ]
    },
    {
      "id": "cookie-httponly",
      "title": "Cookie HttpOnly attribute",
      "status": "pass",
      "summary": "Every pasted Set-Cookie value includes HttpOnly.",
      "evidence": [
        "session"
      ]
    },
    {
      "id": "cookie-samesite",
      "title": "Cookie SameSite attribute",
      "status": "pass",
      "summary": "Every pasted Set-Cookie value has a recognized SameSite setting.",
      "evidence": [
        "session: lax"
      ]
    }
  ]
}

Complete tool guide

Security Header Analyzer guide

This analyzer reviews raw HTTP response headers that you paste and highlights common defensive configuration signals.

Analysis runs in the current browser tab. The page does not request a URL, contact a server, or submit the pasted headers.

Why use this tool?

  • Review duplicate headers and an optional HTTP status line in one readable report.
  • Spot missing, broad, or malformed directives and get a concrete next step for each check.
  • Inspect cookie attributes without sending cookie values to an external scanner.

Common use cases

  • Reviewing headers copied from browser developer tools or curl
  • Checking a deployment before a deeper manual security review
  • Comparing expected header policy with a captured response

How to use it

  1. 1

    Copy the raw response status line and headers from a source you trust.

  2. 2

    Paste them into the raw headers field.

  3. 3

    Review warnings first, then read informational checks in application context.

  4. 4

    Test any proposed policy changes before deployment to avoid breaking legitimate behavior.

What is reviewed

Checks cover HSTS, CSP, MIME sniffing, referrer and permissions policy, framing controls, cross-origin isolation signals, and Set-Cookie attributes when present.

Context matters

Some headers are not appropriate for every response. A warning is a review prompt, and a passing check only means the pasted value matched this analyzer’s rule.

Paste-only design

The analyzer deliberately has no URL-fetch feature. It cannot verify redirects, browser behavior, HTTPS coverage, caching layers, or headers on other routes.

Practical tips for better results

  • Capture headers from more than one route and response status because policies can vary.
  • Roll out CSP in report-only mode before enforcement, then validate the effective policy in a browser.
  • Do not paste live session secrets when a redacted header sample is sufficient.

Frequently asked questions

Does the analyzer fetch the website?

No. It only analyzes the text in the input field and never contacts or resolves a pasted host.

Does a report with no warnings prove security or compliance?

No. This is a focused heuristic review of one pasted response. It is not a penetration test, browser verification, or compliance assessment.

Keep working

Continue with another focused tool from the same collection.