Launch checks for AI-built apps
From demo to production
One command finds what breaks before launch and hands the fix to your agent.
- Runs on your machine
- No account or API key
- Fixes go to Claude Code, Codex or Gemini CLI
BlockerNo RLS on public.posts
Fixedby Claude Code, +9 lines
Re-checkedReadiness 75 → 95
main · v0.4.1
1 blocker
northfield/posts-appDetectedReady
ClerkCallbacks matchReady
posts-app.vercel.app2 env vars missingReview
public.postsNo RLS policyNot ready
/api/stripe/webhookSignature checkedReady
SentryNot wired inReview
Last check just now · on this computer
It reads the stack you already ship
Config, env files, migrations and routes, straight from your repo. Nothing to connect and nothing uploaded. Open a row to see what it checks there.
It finds what will break
Anyone holding the anon key can read and change every row in public.posts
- 02Review
The Stripe webhook never checks the signature, so anyone can post a fake paid event.
unverified_stripe_webhook · app/api/stripe/webhook/route.ts:3 - 03Review
Your code reads two env vars the template doesn’t list, so a fresh deploy ships without them.
env_var_drift · .env.example - 04Review
Errors in production reach no one, because monitoring isn’t wired in.
missing_monitoring · app/
It hands the fix to your agent
Pick the agent you use. This is the prompt it gets: the file, the line and the change.
public.posts has no row level security supabase/migrations/0001_posts.sql:1. Enable it in a new migration with owner-only policies, then run npx -y viberaven check and stop when it passes.
Then it checks again
1 blocker · No row level security on public.posts
- Row level security on every table
- Stripe webhook verifies the signature
- Service role key out of client code
- Secret files gitignored
- No blockers in the code
Free Supabase RLS checker
Paste your migration SQL or drop the .sql files. It lists public tables without row level security, using (true) policies and security definer functions the anon key can call, with the file and line. It runs in your browser and sends nothing.
Check your migrationsCommon questions
- Is the Supabase anon key safe to expose?
- Why is my Supabase RLS policy not working?
- How do I test Supabase RLS policies?
- What is the difference between USING and WITH CHECK in a Supabase RLS policy?
- How do I find Supabase tables missing RLS in my migrations?
- Supabase API keys: publishable, secret, anon or service role?
- Supabase service role key leaked or exposed: how do I rotate it?
- Is Supabase safe for production?
- What do the Supabase Security Advisor warnings mean, and how do I fix them?
- My Lovable + Supabase app launches Friday. What should I check first?
Run it before your users do
Find what breaks, hand the fix to your agent, and launch knowing it holds.
Free to start. Open the app and check your first project.
No account, no API key, and nothing leaves your machine.
Prefer the terminal? $ npx -y viberavenCopied