The 10-minute security checklist for vibe-coded apps
You don't need to be a developer to close the most common holes in an app a tool built for you. Here are the exact things to switch off, hide and back up — most take about a minute each.
Not sure whether any of these apply to your app? Run a free Reeve scan and we'll check them all for you in about 30 seconds.
Switch off
Secret keys in your frontend
Only publishable keys (like pk_live_ or a Supabase anon key) belong in the browser. If a secret key (sk_live_, service_role) sits in your app's code, rotate it now and move it to a server-side environment variable.
Wildcard CORS and open API endpoints
Don't let just any website call your API. Restrict it to your own domain instead of allowing all origins, so other sites can't use it with your visitors' access.
Published source maps
Turn off source-map upload in your production build so your original source code isn't downloadable from the live site.
Hide
Turn on Row Level Security (Supabase)
Switch RLS on for every table. Without it, anyone holding your public key can read — or change — all of your data.
Lock down public storage buckets
Make buckets private unless a file is truly meant for everyone, and make sure file listing is turned off.
Hide sensitive files
Make sure files like /.env, /.git and database dumps (.sql) can't be opened straight from your live URL.
Add basic security headers
Turn on a few standard headers (HSTS, X-Content-Type-Options and a simple Content-Security-Policy) — most hosts add them with one setting.
Back up
Turn on automatic database backups
Enable automated backups (for example Supabase point-in-time recovery or a scheduled dump), then actually try restoring one so you know it works.
Keep your code in Git
Push your project to a private repository so a bad change or a deleted file is always recoverable.
Not sure you got these right?
Run a free scan — Reeve checks all of this from the outside in about 30 seconds, then explains anything it finds in plain language.
Scan your app free