ShipGuardScan a site
B

Security scorecard

epufix.at

Score 87/100 · 3 failed · 1 warnings · 6 passed · 1 not applicable

Scanned 2026-10-21 12:01 UTC in 9.2s · 29 requests · 51 scripts · Detected: Next.js, Vercel, Cloudflare

Top finding (free)

lowConfirmedfailSecurity headers

Missing Content-Security-Policy

A CSP limits what scripts can run on your pages, which reduces the impact of XSS and malicious third-party scripts.

Confirmed from the HTTP response headers of the main document.

Locations

  • https://epufix.at/
Copy-paste fix prompt
Security fix for this v0 / Next.js app.

Add a Content-Security-Policy to my app. Start with `default-src 'self'; script-src 'self'; connect-src 'self' <my API + Supabase URLs>; img-src 'self' data: https:; frame-ancestors 'none'; base-uri 'self'`, use nonces for any inline scripts my framework needs, deploy it as Content-Security-Policy-Report-Only first, then enforce it.

Use route handlers or server actions for privileged work, keep secrets in non-NEXT_PUBLIC_ env vars behind `import "server-only"`, and set headers in next.config.

10 more checks

lowConfirmedfailSecurity headers
Details, location & fix prompt locked
lowConfirmedfailSecurity headers
Details, location & fix prompt locked
lowConfirmedwarnSecurity headers
Details, location & fix prompt locked
criticalpassClient secrets
Details, location & fix prompt locked
criticalpassExposed artifacts
Details, location & fix prompt locked
highpassExposed artifacts
Details, location & fix prompt locked
highpassTransport
Details, location & fix prompt locked
mediumpassSecurity headers
Details, location & fix prompt locked
lowpassExposed artifacts
Details, location & fix prompt locked
highskippedSupabase / BaaS
Details, location & fix prompt locked

Heuristic match = a string in your public JavaScript/HTML looks like a secret (likely, not verified). Confirmed = directly observed in an HTTP response (e.g. a header is absent, a file's contents were validated). All checks are passive and read-only; secrets are stored redacted to their first 6 characters. A good grade is not a guarantee of security.