Security check for Bolt.new apps
Bolt writes the frontend and the backend in one session, so a key can end up in the wrong half. Paste your URL: we find what is public and give you a prompt Bolt can use to fix it.
First scan is free, no signup and no code access. By scanning you confirm you own this site or are authorized to test it, and agree to the Terms and Privacy Policy.

One key needs rotating before launch.
Built with Bolt · Supabase
Passive external check; application logic (SQLi, IDOR) is not tested.
Name a key VITE_OPENAI_API_KEY so the frontend can call the API, and Vite copies it into the file every visitor downloads.
Source maps turned on to chase a bug stay on in production and hand out your original code, comments included.
With Supabase, the browser talks to your tables directly. A policy loosened during development stays loose after deploy.
Demo replay
A demo of what runs when you paste a Bolt app’s URL. The scanner has 100+ checks; here are the ones Bolt apps trip on most.
Where Bolt projects leak most often. Public checks run on every scan; Verified ones after you prove the domain is yours.
Any variable named VITE_… is copied into the bundle. We search it for about 40 key patterns: OpenAI, Anthropic, Stripe, SendGrid and more
Public
Maps linked from your scripts that publish your original source, and whether they contain keys
Public
Whether the tables your app references answer without login, with the anon key from your bundle. One row requested, never stored
After you verify
Missing Content-Security-Policy, HSTS and clickjacking protection on the deployed site
Public
How it works
No code, no login, no setup. The first scan takes about a minute.
Each issue is explained by its consequence, in plain English, ranked by severity.
Copy the fix prompt for the issue and paste it into Bolt.
Verify your domain for free to unlock the deeper checks, then rescan to see the issue gone.
Free first scan. No signup, no code access.
Before / after
With source maps on, your original code, comments included, is one download away. Bolt projects are Vite projects, so the fix is a build setting.
MediumSource maps published in productionPublic check
export default defineConfig({ plugins: [react()], build: { sourcemap: true, },});
Finding: /assets/*.js.map returns your source.
The production build publishes JavaScript source maps. In vite.config.ts set build.sourcemap to false, rebuild and redeploy, and make sure no .map file is left in the deployed assets. Then list any secret that appears in src/ so I can rotate it.
An example. Each finding in the report comes with a prompt like this.
Inside the report
Every issue comes with a prompt written for the tool you build with. Paste it into Bolt, redeploy, and rescan to see the finding gone.
Bolt security guideCritical
Anyone who opens your site can copy the key and run requests on your OpenAI bill.
Found in /assets/index-8c1e.js
The OpenAI key is in the frontend bundle because it is read from VITE_OPENAI_API_KEY. I have rotated the key. Create a server function that calls OpenAI with OPENAI_API_KEY from the server environment, make the frontend call that function, and remove every VITE_ variable that holds a secret.
Compared
| What | Shypset | Bolt’s built-in scan | Manual pentest |
|---|---|---|---|
| Where it looks | Your live site, from outside | Your project, from inside | Your app, by a security tester |
| Headers, TLS, DNS, email | Checked on every scan | Not covered | Usually covered |
| Works for any stack or host | Yes | Only apps built in Bolt | Yes |
| Logged-in logic (IDOR, per-user rules) | Not tested | Deeper inside the project | Yes |
| Cost and time | First scan free, about a minute | Free, inside the tool | Quoted per project, days to weeks |
Run the built-in scan too: it sees the inside. Shypset shows what a stranger sees.
Your first scan is free, no signup needed. Upgrade when you want the full report and fix prompts for every issue.
For your first check before launch
$0/ month
For founders shipping AI-built apps
$15/ month
Billed monthly, $180 a year
For agencies and freelancers. Coming soon
Soon
$9 one-time
One domain for 30 days: the full report and every fix prompt, plus 3 rescans. The public report and badge are not included.
No. Vite writes every VITE_ variable into the JavaScript that each visitor downloads. Keep only public values there and call paid APIs from a server function.
No. Paste the URL of the deployed app. We never see your code or your environment.
The first scan is free, with no signup and no code access. A free account gives you 3 scans a month. The full report and a fix prompt for every issue come with Pro or a one-time $9 Launch Pass.
Without verification we only read what any visitor’s browser can, plus public records such as DNS. Deeper checks, like asking your database tables for a row, run only after you verify that the domain is yours. Verification is free.
No. It is a passive external check: it does not log in and does not test application logic such as SQL injection or IDOR. A clean report means nothing is visible from outside.
We check what it left open.Paste a URL and get the report in about a minute. First scan is free, no signup and no code access.
Real people read every message. Tell us what you need and we will answer by email.
Prefer email? Write to info@softdoes.com.