← All Results
Domain History

oe-cedes.staging.servd.dev

Grade F · 0/100 · 1/7 security headers present

Security Score

F
0/ 100

Security Headers

1/ 7

CSP Violations

NoViolations

Issues Found

30Issues

Recommendations

1Available

Security

0 / 100

Critical security vulnerabilities — CSP provides minimal protection.

Compliance

50 / 100

Several compliance gaps found in CSP implementation.

Best Practices

53 / 100

Basic practices followed but missing important optimizations.

CSP Analysis

Content Security PolicyHIGH
base-uri 'self'; connect-src 'self' https: wss:; default-src 'self' 'unsafe-eval' 'unsafe-inline' blob: data: https: wss:; font-src 'self' data: https:; form-action 'self' https:; frame-ancestors 'self'; frame-src 'self' https:; img-src 'self' blob: data: https:; media-src 'self' blob: https:; object-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline' blob: https:; style-src 'self' 'unsafe-inline' https:; upgrade-insecure-requests; worker-src 'self' blob: https:
Directive Analysis
base-uriLOW
self
connect-srcHIGH
self https: wss:
•CRITICAL: 'https:' in connect-src allows scripts from ANY HTTPS domain
default-srcHIGH
self unsafe-eval unsafe-inline blob: data: https: wss:
•Unsafe eval() execution allowed in default-src
•Unsafe inline execution allowed in default-src
•HIGH RISK: 'blob:' URI in default-src allows script execution from dynamic blobs
•CRITICAL: 'data:' URI in default-src allows arbitrary JavaScript execution
•CRITICAL: 'https:' in default-src allows scripts from ANY HTTPS domain
font-srcHIGH
self data: https:
•Info: 'data:' URI in font-src
•CRITICAL: 'https:' in font-src allows scripts from ANY HTTPS domain
form-actionHIGH
self https:
•CRITICAL: 'https:' in form-action allows scripts from ANY HTTPS domain
frame-ancestorsLOW
self
frame-srcHIGH
self https:
•CRITICAL: 'https:' in frame-src allows scripts from ANY HTTPS domain
img-srcHIGH
self blob: data: https:
•Info: 'blob:' URI in img-src
•Info: 'data:' URI in img-src
•CRITICAL: 'https:' in img-src allows scripts from ANY HTTPS domain
media-srcHIGH
self blob: https:
•Info: 'blob:' URI in media-src
•CRITICAL: 'https:' in media-src allows scripts from ANY HTTPS domain
object-srcLOW
self
script-srcHIGH
self unsafe-eval unsafe-inline blob: https:
•Unsafe eval() execution allowed in script-src
•Unsafe inline execution allowed in script-src
•HIGH RISK: 'blob:' URI in script-src allows script execution from dynamic blobs
•CRITICAL: 'https:' in script-src allows scripts from ANY HTTPS domain
•No nonces or hashes used for script-src
style-srcHIGH
self unsafe-inline https:
•Unsafe inline execution allowed in style-src
•CRITICAL: 'https:' in style-src allows scripts from ANY HTTPS domain
upgrade-insecure-requestsLOW
worker-srcHIGH
self blob: https:
•Info: 'blob:' URI in worker-src
•CRITICAL: 'https:' in worker-src allows scripts from ANY HTTPS domain
•RISK: 'blob:' in worker-src allows creation of workers from dynamic blob content

Security Headers

✗Cross-Origin-Opener-PolicyMissing

Isolates the browsing context to prevent Spectre-type side-channel attacks and cross-origin window manipulation.

How to add it:

nginx
add_header Cross-Origin-Opener-Policy "same-origin" always;
apache
Header always set Cross-Origin-Opener-Policy "same-origin"
cloudflare
Rules > Transform Rules > HTTP Response Header Modification > Set Cross-Origin-Opener-Policy to "same-origin"
✗Permissions-PolicyMissing

Restricts which browser features (camera, microphone, geolocation) the page can use, limiting attack surface.

How to add it:

nginx
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
apache
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
cloudflare
Rules > Transform Rules > HTTP Response Header Modification > Set Permissions-Policy value
✗Referrer-PolicyMissing

Controls how much referrer information is sent with requests, preventing data leaks to third parties.

How to add it:

nginx
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
apache
Header always set Referrer-Policy "strict-origin-when-cross-origin"
cloudflare
Rules > Transform Rules > HTTP Response Header Modification > Set Referrer-Policy to "strict-origin-when-cross-origin"
✓Strict-Transport-SecurityPresent

max-age=2592000

Forces browsers to use HTTPS for all future requests, preventing man-in-the-middle attacks and SSL stripping.

✗X-Content-Type-OptionsMissing

Prevents browsers from MIME-sniffing responses away from the declared Content-Type, blocking drive-by downloads.

How to add it:

nginx
add_header X-Content-Type-Options "nosniff" always;
apache
Header always set X-Content-Type-Options "nosniff"
cloudflare
Rules > Transform Rules > Managed Transforms > Enable "Add X-Content-Type-Options header"
✗X-Frame-OptionsMissing

Prevents the page from being embedded in iframes, protecting against clickjacking attacks.

How to add it:

nginx
add_header X-Frame-Options "DENY" always;
apache
Header always set X-Frame-Options "DENY"
cloudflare
Rules > Transform Rules > HTTP Response Header Modification > Set X-Frame-Options to "DENY"
—X-XSS-ProtectionDeprecated

Legacy XSS filter for older browsers. Modern browsers use CSP instead. Set to "0" to avoid false positives.

5 recommended security headers are missing on oe-cedes.staging.servd.dev.

Issues Found

  • •CRITICAL: 'data:' URI in default-src allows arbitrary JavaScript executioncritical
  • •CRITICAL: 'https:' in connect-src allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in default-src allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in font-src allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in form-action allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in frame-src allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in img-src allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in media-src allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in script-src allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in style-src allows scripts from ANY HTTPS domaincritical
  • •CRITICAL: 'https:' in worker-src allows scripts from ANY HTTPS domaincritical
  • •HIGH RISK: 'blob:' URI in default-src allows script execution from dynamic blobshigh
  • •HIGH RISK: 'blob:' URI in script-src allows script execution from dynamic blobshigh
  • •Info: 'blob:' URI in img-srcinfo
  • •Info: 'blob:' URI in media-srcinfo
  • •Info: 'blob:' URI in worker-srcinfo
  • •Info: 'data:' URI in font-srcinfo
  • •Info: 'data:' URI in img-srcinfo
  • •Missing security header: Cross-Origin-Opener-Policymedium
  • •Missing security header: Permissions-Policymedium
  • •Missing security header: Referrer-Policymedium
  • •Missing security header: X-Content-Type-Optionsmedium
  • •Missing security header: X-Frame-Optionsmedium
  • •No nonces or hashes used for script-srcmedium
  • •RISK: 'blob:' in worker-src allows creation of workers from dynamic blob contentmedium
  • •Unsafe eval() execution allowed in default-srchigh
  • •Unsafe eval() execution allowed in script-srchigh
  • •Unsafe inline execution allowed in default-srchigh
  • •Unsafe inline execution allowed in script-srchigh
  • •Unsafe inline execution allowed in style-srchigh

Recommendations

  • →Consider implementing a stricter Content Security Policy

Beyond headers: infrastructure exposure

via OSN, our sister project

Security headers protect the browser. OSN maps what's exposed underneath — servers, open ports, known CVEs, DNS and WHOIS.

See what the internet sees about oe-cedes.staging.servd.devWeak headers often come with other exposure — check the full picture.

oe-cedes.staging.servd.dev

2 scans since 7/31/2026

F

Latest: 0/100

Total Scans

2

Latest Score

0/100

First Scan

7/31/2026

Last Scan

7/31/2026

Security

0 / 100

Critical security vulnerabilities — CSP provides minimal protection.

Compliance

50 / 100

Several compliance gaps found in CSP implementation.

Best Practices

53 / 100

Basic practices followed but missing important optimizations.

Score Trend

Security score progression over 2 scans

Scan History

DateScoreCSPHeadersIssuesAction
Jul 31, 2026
F (0)
Yes
1/730View →
Jul 31, 2026
F (0)
Yes
1/730View →

Show off your security grade

Embed this badge on your site or README. It updates automatically after each scan and links back to this report.

HeaderTest security grade: F (0/100) for oe-cedes.staging.servd.dev
HTML
<a href="https://headertest.com/results/oe-cedes.staging.servd.dev" title="Security headers grade for oe-cedes.staging.servd.dev — HeaderTest">
  <img src="https://headertest.com/api/badge/oe-cedes.staging.servd.dev" alt="HeaderTest security grade: F (0/100) for oe-cedes.staging.servd.dev" />
</a>
Markdown
[![HeaderTest security grade: F (0/100) for oe-cedes.staging.servd.dev](https://headertest.com/api/badge/oe-cedes.staging.servd.dev)](https://headertest.com/results/oe-cedes.staging.servd.dev)