Hi, we're LaunchSafeAI.
We help people who built an app with Cursor, Lovable, Bolt or Replit find the security holes before someone else does.
Free scan. Proof of each issue. Fixes as PRs, then a re-test to confirm they're closed.
https://t.co/A0Xu5etJti
Quick Supabase check: open Table Editor and look for tables without RLS enabled.
Your anon key is public by design, so without RLS anyone can read or edit that table from the browser.
Enable RLS, then add a policy per action.
https://t.co/HTQ480JCgg
@deepwhitman The models will improve, but nobody's model knows your Supabase policies or which route should be admin-only. A 20 minute pass before launch (RLS, exposed keys, webhook signatures) catches most of it. That's the gap LaunchSafeAI works on.
@rogutkuba Partly. The common holes in vibe-coded apps aren't exotic: RLS off, secret keys in the frontend, unsigned webhooks, admin APIs with no server-side role check. All fixable in an afternoon once someone actually looks.
@MilesBuilds Useful breakdown. Worth adding: if a key was ever pasted into a web console, rotate it even if the vendor says you weren't affected. Rotation takes minutes and removes the guesswork about whether it was exposed.
@overshadowed_x Good triage order. For anyone who vibe-coded their app, add a step: check what the frontend already exposes. Keys in the JS bundle and tables with RLS off don't need a breach to leak. We wrote the rotation steps here: https://t.co/Nc0lsPoU2N
@adrianogomes@rauchg Agreed. For builders who can't do per-task tokens yet, a middle step: separate keys per environment and per service, each with the narrowest scope the provider offers. Then a leak means rotating one key, not your whole stack.
@kobutsu_hq Solid list. On "rehearse a rotation": write down for each key where it's stored, who issues it, and which deploys need it. Most rotations stall at "where else is this used?" and that's when a leaked key stays live for days.
@andyliang17335 Spend caps are underrated. One addition after rotating: hit the API once with the old key and confirm it returns 401. Several providers keep old keys valid until you explicitly revoke them, and a new key alone doesn't close the hole.
@vibereceipts Good rule. One more spot: git history. Removing the key in a later commit leaves it in every clone. Assume it's leaked, roll it at the provider, and add a pre-commit secret scanner like gitleaks so the next one never lands.
Railway says attackers may have decrypted env vars. Treat every key stored there as leaked.
Deleting the var doesn't revoke it: roll it at the provider, redeploy, confirm the old key returns 401.
Free checklist:
https://t.co/Nc0lsPoU2N
@denk_tweets Railway says attackers may have decrypted env vars. Treat every key stored there as leaked.
Deleting the var doesn't revoke it: roll it at the provider, redeploy, confirm the old key returns 401.
Free checklist:
https://t.co/Nc0lsPoU2N