Security Headers Report
Grade F 35%
GET https://jamestarleton.com
The hound’s verdict
Failing. Most security headers are missing or misconfigured. Act on this now.
Security headers
- 3 pass
- 1 warning
- 6 fail
-
Strict-Transport-Security HSTS
8/15 8/15Tells browsers to only use HTTPS for all future requests. Prevents protocol downgrade attacks and cookie hijacking.
max-age=2592000; includeSubDomains- max-age is less than one year. Consider raising it to 31536000 (one year) or more.
- The preload directive is missing. Consider adding it and submitting the site to the HSTS preload list.
- includeSubDomains is set.
-
X-Frame-Options XFO
8/8 8/8Protects against clickjacking by controlling whether the site can be embedded in iframes. Largely superseded by CSP frame-ancestors but still widely supported.
DENY- DENY is the most restrictive setting. Pages can not be embedded anywhere.
-
X-Content-Type-Options XCTO
8/8 8/8Prevents browsers from MIME-sniffing a response away from the declared content type, reducing exposure to drive-by download attacks.
nosniff- nosniff is set correctly.
-
Content-Security-Policy CSP
0/25 0/25The most powerful security header. It controls which resources the browser may load, which mitigates XSS, data injection and other code injection attacks.
Not set- CSP is not set. It is the most important security header: it controls which resources can be loaded and mitigates XSS attacks.
RecommendedContent-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests -
Referrer-Policy RP
8/8 8/8Controls how much referrer information is sent with requests. Restricting it protects user privacy and avoids leaking sensitive URLs.
no-referrer-when-downgrade- The policy is a safe choice.
-
Permissions-Policy PP
0/8 0/8Controls access to browser features and APIs such as the camera, microphone and geolocation. Replaces the deprecated Feature-Policy header.
Not set- Permissions-Policy is missing. Scripts may use browser features like the camera, microphone and geolocation without restriction.
RecommendedPermissions-Policy: accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=() -
X-XSS-Protection XXP
2/5 2/5Legacy header for the XSS filter in older browsers. Modern browsers ignore it and a strong CSP is preferred. A wrong value can introduce vulnerabilities.
1- "1" and "1; mode=block" can introduce vulnerabilities in some browsers. The recommended value is 0.
-
Cross-Origin-Embedder-Policy COEP
0/7 0/7Prevents a document from loading cross-origin resources that do not explicitly grant permission. Required for cross-origin isolation.
Not set- COEP is not set. It is required for cross-origin isolation, which enables features like SharedArrayBuffer.
RecommendedCross-Origin-Embedder-Policy: require-corp -
Cross-Origin-Opener-Policy COOP
0/7 0/7Isolates the browsing context group, which protects against cross-origin attacks such as XS-Leaks and Spectre.
Not set- COOP is not set. The browsing context is not isolated, which leaves the site open to XS-Leaks and Spectre-style attacks.
RecommendedCross-Origin-Opener-Policy: same-origin -
Cross-Origin-Resource-Policy CORP
0/7 0/7Says whether other sites may include the resource, which protects against some cross-origin information leaks and side-channel attacks.
Not set- CORP is not set. Other sites may be able to include your resources, which can enable information leaks.
RecommendedCross-Origin-Resource-Policy: same-origin
Version leaks
These response headers may reveal details about the server software and technology stack, which helps attackers plan an attack.
-
medium
Server
cloudflareRemove or mask the Server header so it does not disclose the web server software and version.
-
high
X-Powered-By
PHP/8.5.12Remove the X-Powered-By header. It exposes your PHP version and other details of your stack.
-
medium
X-Generator
Drupal 11 (https://www.drupal.org)Remove the X-Generator header so it does not disclose your CMS and its version.
-
low
X-Drupal-Cache
HITThe X-Drupal-Cache header reveals that the site runs Drupal. Consider removing it in production.
-
low
X-Drupal-Dynamic-Cache
HITThe X-Drupal-Dynamic-Cache header reveals Drupal's caching internals. Consider removing it in production.
-
low
Via
1.1 varnishThe Via header reveals proxy server information. Consider masking it in production.
date: Sun, 15 Nov 2026 19:18:54 GMT
content-type: text/html; charset=utf-8
transfer-encoding: chunked
connection: keep-alive
server-timing: cfCacheStatus;desc="DYNAMIC", cfEdge;dur=27,cfOrigin;dur=219
age: 0
cache-control: max-age=60, public
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
content-language: en
content-security-policy-report-only: report-uri /report-csp-violation; upgrade-insecure-requests
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=oUHJluR5BmikIIy0WZpjkkQNVhQMqCzuJ010bIAS64Ylf%2BEMfmMbs%2BNqXlHE6Y4gTurH5aW5ChZHq%2BLrfwizOdtp%2BK1kmGNVznqJfx4uqcbvQboFLO4dnbzldzOoofHt5GJIpA%3D%3D"}]}
expect-ct: max-age=864000, enforce
expires: Sun, 19 Nov 1978 05:00:00 GMT
feature-policy: camera=self, microphone=self
from-origin: same
last-modified: Sun, 15 Nov 2026 01:20:49 GMT
referrer-policy: no-referrer-when-downgrade
server: cloudflare
strict-transport-security: max-age=2592000; includeSubDomains
vary: X-Consumer-ID, Accept-Encoding
via: 1.1 varnish
x-cache: MISS
x-cache-backend: Drupal
x-consumer-id: default_consumer
x-content-security-policy-report-only: report-uri /report-csp-violation; upgrade-insecure-requests
x-content-type-options: nosniff
x-drupal-cache: HIT
x-drupal-dynamic-cache: HIT
x-frame-options: DENY
x-generator: Drupal 11 (https://www.drupal.org)
x-powered-by: PHP/8.5.12
x-varnish: 3605375
x-webkit-csp-report-only: report-uri /report-csp-violation; upgrade-insecure-requests
x-xss-protection: 1
cf-cache-status: DYNAMIC
cf-ray: a5b09abf1aa60297-ORD
alt-svc: h3=":443"; ma=86400