Guest session
Check Detail

berlin.de · HEADER

Incomplete Grade D
53.8%
Hostname berlin.de
Check name HEADER
last run 06/11/2025 16:20
Result
Incomplete Grade B 84.6%

Result Detail

HEADER
Alerts
  • Strict-Transport-Security: HSTS active but add includeSubDomains; consider preload
  • Permissions-Policy: Permissions-Policy missing
  • Cross-Origin-Opener-Policy: Header missing
  • Cross-Origin-Embedder-Policy: Header missing
  • Cross-Origin-Resource-Policy: Header missing
  • Cache-Control: Cache-Control missing restrictive directives
  • Expect-CT: Expect-CT missing
  • X-Permitted-Cross-Domain-Policies: Header missing
  • Access-Control-Allow-Origin: Access-Control-Allow-Origin missing
  • Origin-Agent-Cluster: Header missing
Normalized headers
date Thu, 06 Nov 2025 15:18:41 GMT
content-type text/html; charset=UTF-8
content-security-policy default-src 'self' 'unsafe-inline' 'unsafe-eval' mediastream: data: blob: https:; worker-src 'self' blob:; upgrade-insecure-requests; upgrade-insecure-requests
vary Accept-Encoding
age 88
referrer-policy strict-origin-when-cross-origin
x-content-type-options nosniff
x-frame-options SAMEORIGIN
x-xss-protection 1; mode=block
strict-transport-security max-age=31536000
accept-ranges bytes
Transport
Check name Status Actual Expected Detail Severity Recommendation
Strict-Transport-Security ⚠️ Warning max-age=31536000 max-age>=15768000; includeSubDomains; preload HSTS active but add includeSubDomains; consider preload Critical Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Expect-CT ❌ Missing enforce; max-age>=86400 Expect-CT missing Medium Expect-CT: enforce, max-age=86400, report-uri="https://report.example.com"
Content Security
Check name Status Actual Expected Detail Severity Recommendation
Content-Security-Policy ✅ Passed default-src 'self' 'unsafe-inline' 'unsafe-eval' mediastream: data: blob: https:; worker-src 'self' blob:; upgrade-insecure-requests; upgrade-insecure-requests default-src 'self'; frame-ancestors 'none' default-src 'self'; frame-ancestors 'none' Critical Content-Security-Policy: default-src 'self'; frame-ancestors 'none'
MIME
Check name Status Actual Expected Detail Severity Recommendation
X-Content-Type-Options ✅ Passed nosniff nosniff Value matches recommendation High X-Content-Type-Options: nosniff
Framing
Check name Status Actual Expected Detail Severity Recommendation
X-Frame-Options ✅ Passed SAMEORIGIN DENY or SAMEORIGIN Value accepted High X-Frame-Options: DENY
Privacy
Check name Status Actual Expected Detail Severity Recommendation
Referrer-Policy ✅ Passed strict-origin-when-cross-origin strict-origin-when-cross-origin / same-origin strict-origin-when-cross-origin Medium Referrer-Policy: strict-origin-when-cross-origin
Browser Features
Check name Status Actual Expected Detail Severity Recommendation
Permissions-Policy ❌ Missing camera=(); geolocation=(); microphone=() Permissions-Policy missing Medium Permissions-Policy: camera=(), geolocation=(), microphone=()
Cross-Origin
Check name Status Actual Expected Detail Severity Recommendation
Cross-Origin-Opener-Policy ❌ Missing same-origin Header missing High Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy ❌ Missing require-corp Header missing High Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy ❌ Missing same-origin Header missing Medium Cross-Origin-Resource-Policy: same-origin
Origin-Agent-Cluster ❌ Missing ?1 Header missing Low Origin-Agent-Cluster: ?1
Caching
Check name Status Actual Expected Detail Severity Recommendation
Cache-Control ❌ Missing no-store, private, max-age=0 Cache-Control missing restrictive directives High Cache-Control: no-store, private, max-age=0
Legacy
Check name Status Actual Expected Detail Severity Recommendation
X-Permitted-Cross-Domain-Policies ❌ Missing none Header missing Low X-Permitted-Cross-Domain-Policies: none
CORS
Check name Status Actual Expected Detail Severity Recommendation
Access-Control-Allow-Origin ❌ Missing Scoped origin (no wildcard) Access-Control-Allow-Origin missing Medium Access-Control-Allow-Origin: https://app.example.com
Information Disclosure
Check name Status Actual Expected Detail Severity Recommendation
Server ✅ Passed Header removed or generic Header not exposed High Remove Server header or set to a generic token
X-Powered-By ✅ Passed Header removed Header not exposed High Remove X-Powered-By header
X-AspNet-Version ✅ Passed Header removed Header not exposed Medium Remove framework version headers
Raw headers
HTTP/2 200 
date: Thu, 06 Nov 2025 15:18:41 GMT
content-type: text/html; charset=UTF-8
content-security-policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' mediastream: data: blob: https:; worker-src 'self' blob:; upgrade-insecure-requests
vary: Accept-Encoding
age: 88
content-security-policy: upgrade-insecure-requests
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
strict-transport-security: max-age=31536000
accept-ranges: bytes