What this test checks
Strict-Transport-Security (HSTS)
Whether browsers are told to use HTTPS only, with a max-age of at least 180 days and includeSubDomains.
Content-Security-Policy (CSP)
Whether a CSP is enforced and how strict it is: unsafe-inline without a nonce or hash, unsafe-eval, wildcard script sources, and missing object-src or base-uri.
Clickjacking protection
X-Frame-Options set to DENY or SAMEORIGIN, or a CSP frame-ancestors directive without wildcards.
X-Content-Type-Options
The nosniff value, which stops browsers from guessing file types and running mislabeled files as scripts.
Referrer-Policy and Permissions-Policy
Whether full URLs leak to other sites, and whether browser features such as camera, microphone and geolocation are restricted.
Cross-Origin-Opener-Policy
Optional hardening that isolates your window from pages opened in popups.
Software version disclosure
Server, X-Powered-By and X-AspNet-Version headers that reveal exact software versions to attackers.
Cookie flags and mixed content
Secure, HttpOnly and SameSite on cookies the page sets, and scripts, styles, frames or images loaded over plain HTTP.
Sample result
A real result for devteam.co.kr, tested 17 hours ago.
Security headers
7 of 9 security header checks passed, 1 missing or unsafe.
Content-Security-Policy (CSP) (Problem)
No Content-Security-Policy. It is the main browser-side defense against cross-site scripting (XSS).
Missing
Strict-Transport-Security (HSTS) (Good)
Browsers will only ever connect to this site over HTTPS.
180 days, subdomains, preload
Clickjacking protection (Good)
Other sites cannot embed your pages in a hidden frame.
SAMEORIGIN
X-Content-Type-Options (Good)
Browsers will not guess file types, which blocks some content-injection attacks.
nosniff
Referrer-Policy (Good)
Full URLs are not leaked to other sites.
strict-origin-when-cross-origin
Permissions-Policy (Good)
Browser features such as camera and geolocation are restricted.
Set
Response headers we read
| server | cloudflare |
|---|---|
| referrer-policy | strict-origin-when-cross-origin |
| x-frame-options | SAMEORIGIN |
| permissions-policy | geolocation=(), microphone=() |
| x-content-type-options | nosniff |
| strict-transport-security | max-age=15552000; includeSubDomains; preload |
How it works
- Our test server in Virginia, USA, requests the URL you enter, follows up to 5 redirects and reads the headers of the final response.
- Every redirect hop is checked first: only http and https on ports 80 and 443 are allowed, and the host must resolve to public IP addresses.
- The HTML of that response is also scanned for scripts, stylesheets, frames and images that load over plain HTTP.
- The request identifies itself as WebPSQCBot, and the whole check usually takes about 5 seconds.
How it is scored
The score uses our item-weighted formula: a pass earns full credit, a warning half and a fail none, with HSTS and mixed content weighted 3×, CSP, clickjacking protection, nosniff and cookie flags 2×, and Referrer-Policy, Permissions-Policy, COOP and version disclosure 1×. A missing COOP header is noted but not scored, and the cookie and mixed-content checks apply only when the page sets cookies or is served over HTTPS.
| Check | Good | Needs work | Poor |
|---|---|---|---|
| HSTS | max-age 180+ days with includeSubDomains | Shorter max-age, or no includeSubDomains | Missing, or site not on HTTPS |
| Content-Security-Policy | Strict policy | Set, but with weak spots | Missing or report-only |
| Clickjacking protection | DENY, SAMEORIGIN or frame-ancestors | — | Missing |
| X-Content-Type-Options | nosniff | — | Missing |
| Referrer-Policy | strict-origin-when-cross-origin or stricter | Missing or unusual value | unsafe-url or no-referrer-when-downgrade |
| Cookie flags | Secure, HttpOnly and SameSite on every cookie | Some flags missing | — |
| Mixed content | Everything over HTTPS | Images over HTTP | Scripts, styles or frames over HTTP |
Grades: A+ 95–100 · A 90–94 · B 80–89 · C 70–79 · D 60–69 · F below 60.