← Learn

Missing security headers on your app: what they do and how to add them

Security headers like CSP, HSTS, and X-Frame-Options are cheap defenses your AI builder probably skipped. Here is what each one prevents and how to add them.

HTTP response headers are a free layer of defense, and AI-built apps almost always ship without them. They do not fix a leaked secret, but they reduce the blast radius of common attacks.

The ones that matter

How to add them

You usually don't touch app code — you add headers at the host. On Vercel/Next use vercel.json or next.config.js headers; on Netlify/Cloudflare use a _headers file. Shipshape's fix pack emits the exact config file for your platform.

→ Run a free scan

FAQ

Are missing security headers a critical problem?
On their own they are usually a hardening gap, not a breach — but they make XSS, clickjacking, and downgrade attacks far easier, and they are trivial to add.

Do I need to change my app code to add headers?
Usually no. Headers are set at the host with a config file (vercel.json, next.config.js, or a _headers file). Shipshape generates the right one for your platform.

What is a good first header to add?
A Content-Security-Policy is the highest-impact, since it is the primary defense against cross-site scripting. Start strict and loosen only what you need.

Related questions

Check your own app
Free passive scan, ~10 seconds, no login.