ShipGuardScan a site
A

Security scorecard

schemawright.com

Score 90/100 · 1 failed · 0 warnings · 9 passed · 1 not applicable

Scanned 2026-10-21 12:04 UTC in 8.8s · 27 requests · 39 scripts · Detected: Next.js

Top finding (free)

mediumConfirmedfailSecurity headers

Missing Strict-Transport-Security (HSTS)

Without HSTS, a first visit over an untrusted network can be downgraded to HTTP.

Confirmed from the HTTP response headers of the main document.

Locations

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

Add the header `Strict-Transport-Security: max-age=31536000; includeSubDomains` to every HTTPS response (in Next.js via `headers()` in next.config, on Vercel via vercel.json, on Netlify via _headers).

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

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
lowpassSecurity headers
Details, location & fix prompt locked
lowpassSecurity headers
Details, location & fix prompt locked
lowpassSecurity headers
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.