Skip to content

Is my Bolt.new app secure? A Bolt security checklist

A plain-English Bolt security and legal checklist. Checked against public sources, September 2026.

Bolt builds and runs a full app in your browser and deploys it in a click. What it can't do is care about the things you didn't ask for, and nobody prompts for security headers or a privacy policy.

Bolt most often scaffolds a Vite, React and TypeScript app (sometimes Next.js), commonly with Supabase as the backend, and deploys to Netlify or Bolt's own hosting.

What Bolt gets right

What Bolt apps usually ship without

vibeliq checks all of these, and 31 more, from the outside: see every check.

Two checks to do by hand

An outside scan, ours included, reads what a visitor’s browser receives. These live inside your accounts, so they need your eyes:

  1. Open your Supabase dashboard and go to Database, then Tables (or Table Editor).
  2. Every table should show row-level security as enabled. A table without it can be read, and usually written, by anyone who has your public key, and that key is in your site's JavaScript by design.
  3. Enabled isn't enough: open Authentication, then Policies, and read each policy. A policy of 'true' for everyone is the same as no protection. Rows should be limited to their owner, for example where user_id matches the signed-in user.
  4. Secrets you set inside Bolt don't travel to your host automatically. Open your Netlify (or Vercel) site settings and confirm every environment variable exists there, and that none of the secret ones start with VITE_.
  5. Search your project for service_role. That key bypasses every rule and must only exist in server code and server-side secrets, never in the browser.

Questions people ask

Is a VITE_ environment variable secret?

No. Anything starting with VITE_ is copied into the JavaScript your visitors download. That's correct for public values like a Supabase anon key, and a leak for anything the provider calls secret.

Where do security headers go on a Bolt app?

On Netlify, in a _headers file in your publish folder or in netlify.toml. Your vibeliq report gives you the exact prompt to add them for your setup.

Does vibeliq need my code?

No. You paste your live or preview URL. We open it in a real browser and read what a visitor's browser receives, including your JavaScript files.

Built with something else?