Security-Header Checker: the question this tool answers
Security-Header Checker answers one focused troubleshooting question: security headers checker. The live result is designed to tell you whether Content-Security-Policy is usable, whether Strict-Transport-Security agrees with it, and whether Referrer-Policy exposes a second path that can explain the symptom. A healthy result here is not an all-purpose website score; it only describes the origin reachability and HTTP availability evidence this tool owns.
- Content-Security-Policy
- Strict-Transport-Security
- Referrer-Policy
- X-Frame-Options
- X-Content-Type-Options
- Permissions-Policy
- cross-origin headers
How to read the Content-Security-Policy, Strict-Transport-Security and Referrer-Policy evidence
Start with the value that directly controls the failing service, then use the other signals to confirm or challenge that interpretation. A single record or response can look correct while another hostname, IP family, redirect or mail-authentication path still fails. The tool therefore keeps the raw observed value visible and explains how the signals relate.
- Content-Security-Policy — Verify Content-Security-Policy from the public Internet and compare it with the value the responsible provider says should be live.
- Strict-Transport-Security — Verify Strict-Transport-Security from the public Internet and compare it with the value the responsible provider says should be live.
- Referrer-Policy — Verify Referrer-Policy from the public Internet and compare it with the value the responsible provider says should be live.
- X-Frame-Options — Verify X-Frame-Options from the public Internet and compare it with the value the responsible provider says should be live.
- X-Content-Type-Options — Verify X-Content-Type-Options from the public Internet and compare it with the value the responsible provider says should be live.
- Permissions-Policy — Verify Permissions-Policy from the public Internet and compare it with the value the responsible provider says should be live.
- Cross-origin headers — Verify the public endpoint and response before changing DNS. A proxy error can originate from an offline service, blocked proxy ranges, stale origin address or overloaded application.
Common security-header checker failure patterns
The most useful warnings are mismatches rather than isolated missing fields. Content-Security-Policy can be absent or stale; Strict-Transport-Security can point somewhere different from the expected provider; and Referrer-Policy can reveal a second path that behaves differently. If public sources disagree, first decide whether the difference comes from authoritative data, caching, a separate hostname, IPv6, or another protocol layer before editing configuration.
What to change — and what not to change
Change the smallest setting that the evidence proves is wrong. Compare the observed Content-Security-Policy with the current value supplied by the responsible provider, save the existing value, make one correction, and retest. Do not replace nameservers, delete unrelated MX/TXT records, disable TLS controls or remove IPv6 simply because Security-Header Checker shows a warning in another layer. Broad changes can turn one isolated problem into several independent outages.
How HostWithShery runs Security-Header Checker
The submitted public input is normalized and validated before any server-side request is made. HostWithShery then obtains Content-Security-Policy and Strict-Transport-Security using the appropriate public DNS, HTTP, TLS or mail protocol and adds Referrer-Policy plus X-Frame-Options where it materially changes the interpretation. URL-based checks are restricted to public destinations, and redirect targets are revalidated instead of being trusted automatically.
Example security-header checker interpretation
Example only: suppose Content-Security-Policy returns an expected value, but Strict-Transport-Security points to an older destination while Referrer-Policy shows a different result for another hostname or network path. The correct conclusion is not “everything is broken.” It is that one public path still disagrees with the intended origin reachability and HTTP availability configuration. The live result uses the domain you enter; this example is never presented as evidence about your site.
When a security-header checker result is inconclusive
This is a public-configuration diagnostic. Network filtering, private control-panel settings, split-horizon DNS, provider-internal state and transient routing conditions can limit what can be confirmed from outside the account. Public diagnostics cannot see private control-panel state, unpublished origin addresses, provider account status or split-horizon/internal DNS. If the remote service times out, blocks automated requests or hides a signal, the result stays inconclusive instead of inventing a provider or configuration. That distinction matters when the next step is a potentially disruptive DNS, SSL or mail change.
How to verify the repair
The redirect chain should terminate at one intended HTTPS URL without a loop or unnecessary hop, and the final response should be the expected application page. Repeat Security-Header Checker after the change and compare the same Content-Security-Policy, Strict-Transport-Security and Referrer-Policy evidence that exposed the problem. A provider dashboard saying “saved” is not enough when the public Internet still returns the old value.
What to check next if Security-Header Checker is healthy
If Content-Security-Policy, Strict-Transport-Security and Referrer-Policy now agree but the user-facing problem remains, move to the adjacent layer instead of editing the same setting repeatedly. Use the related diagnostics on this page to test the next plausible cause, and keep the previous result as evidence when escalating to a hosting, DNS or email provider.
Technical references
These primary standards and provider documents are used to verify the behavior described on this page. Provider dashboards can change, so use the current official value for tenant-specific DNS records rather than copying an example from another account.