For Bolt apps
Built with Bolt and Supabase? Check who can read its data.
If your Bolt project uses Supabase and its migrations are in a public GitHub repo, we can rebuild the database in a lab, read it as a stranger, and hand you a proven fix.
Independent: PatchLabs is not affiliated with Bolt.
your-bolt-app/ ├─ src/ ├─ package.json └─ supabase/ └─ migrations/ ← what we need └─ …_create_tables.sql
supabase/migrations folder in the repo, we can’t rebuild the database yet.Will it work?
Check this before you paste your repo.
Works today when
- The project uses Supabase
- Its migrations are in
supabase/migrationsin a public GitHub repo - Personal data lives in database tables protected by RLS
Not covered yet
- Projects whose database changes aren’t in the repo as migration files
- Private repos, until our GitHub App ships
- Non-Supabase databases
The common leak
The same Supabase rules, the same ways to leak.
A Bolt app on Supabase is protected by the same row level security as any other. The usual leaks: a table with RLS switched off, a read policy that is always true, or one that lets any signed-in user read every row.
No Bolt-specific numbers yet. Our study sampled public Lovable and Supabase repos, so we don’t publish figures for Bolt apps. The access rules work the same way on any Supabase database, which is what we test.
-- before: RLS was never switched on for this table
-- (with Supabase's default grants, anyone with the key can read it)
-- after: RLS on, owners read their own rows
alter table public.customers enable row level security;
create policy "Owners read own customer records"
on public.customers for select to authenticated
using (auth.uid() = owner_id);
Illustrative SQL. Your report contains the real migration for your tables, and it only counts as proven once the anonymous visitor and the signed-in stranger are denied and the owner still reads their own rows.
How the fix lands
From proven fix to your live app.
How a new migration file reaches your database depends on how your Bolt project is connected to Supabase. We haven’t verified Bolt’s behaviour for every setup, so check your platform’s docs.
We never push to your repo or touch your database. Nothing changes until you, or your engineer, applies the migration. Automatic pull requests need our GitHub App, which is coming.
Get the fix
Download the migration from your report, or commit it on GitHub in one click.
Apply it to your Supabase database
Paste the SQL into your Supabase project’s SQL editor, use
supabase db pushif you work with the Supabase CLI, or ask Bolt to apply the migration. Check your platform’s docs for which applies to you.Keep the file in the repo
So the next change Bolt makes builds on the fixed rules.
Re-check
Run the check again to confirm the leak is closed.
My Bolt project doesn’t have a supabase/migrations folder.
Then we can’t rebuild the database yet. The key scan still runs on your code and history. Tell us how your project is set up and we’ll see what we can do.
Do you need access to my Bolt account?
No. Checks only read the public GitHub repo and never connect to your live app or database.
Will the fix break my app?
A fix only passes if the owner can still read their own rows. The report also includes a risk note about anything that could behave differently.
Is PatchLabs part of Bolt?
No. PatchLabs is independent and not affiliated with Bolt or StackBlitz.
Free check
Can a stranger read your users table? Find out in minutes.
You’ll get the leaks, the fix and the proof on one page. How it works.