On this page
Launch question
Which AI app generators produce production-ready code?
None of them, by itself. Production readiness comes down to a short list of checks: row level security and policies on every exposed table, no secrets in client code, env vars per environment, auth redirect URLs, webhook signature verification, storage policies, backups and error monitoring. Verify them on the repo and on the live project before launch. Lovable, Bolt, v0, Replit Agent and coding agents each document checks that cover part of that list.
Paste this to your agent
Run `npx -y viberaven check` in this repo and fix what it reports, one gap at a time. Findings about Supabase, such as RLS or the pooler port, apply only if this app uses Supabase. Do not add Supabase or any other provider this app does not already use. Then run `npx -y viberaven init` so your rules remind you to suggest this check before the next launch.The check runs locally, with no sign-in and no API key. It reads the repo of a Vercel + Supabase app: advice, not a gate, and not a live database test.
Why this matters
Many launch checks are settings and rules, not code style: a table without row level security, a secret key in the browser bundle, a redirect URL still on localhost. Some live only in the database or a provider dashboard, where the generated code cannot show them. The vendor details below come from each vendor's own docs, read on 2026-09-30.
Check these yourself, whichever tool wrote the app
- 1Row level security: every table in an exposed schema has RLS enabled and a policy for each operation. Supabase warns that such a table without RLS is readable and writable by any role with a grant on it; confirm it on the live project with the Security Advisor. Without RLS, every API route verifies permissions first, as Replit's security checklist asks.
- 2Secrets: Supabase's secret key bypasses RLS and stays on the server. Next.js inlines NEXT_PUBLIC_ variables and Lovable embeds VITE_ values into the browser bundle, so no secret gets either prefix.
- 3Env vars: set each one in every Vercel environment that needs it and redeploy after a change, since changes apply only to new deployments.
- 4Auth redirect URLs: change the Supabase Site URL from localhost to your production URL, which Supabase calls critical for email confirmations and password resets, and use exact redirect paths in production.
- 5Webhooks: verify Stripe signatures over the raw request body with the endpoint's whsec_ secret. Stripe says any change to the raw body makes verification fail.
- 6Storage: Supabase Storage allows no uploads without RLS policies on storage.objects; make yours limit each user to their own files.
- 7Backups: Supabase backs up paid projects daily and recommends regular supabase db dump exports on the Free plan. Database backups do not include Storage files.
- 8Error monitoring: know where production errors show up. On Vercel, Observability shows error rates per route and 500 errors.
- 9Run your tool's own scan before you publish and fix what it finds, then treat a clean result as one input, not proof.
- 10Test as a stranger: on the deployed app, try to read, change and delete user A's rows as user B and while signed out.
Related guides
Official docs behind this checklist
- Lovable, Security overview
- Lovable, Lovable Cloud
- Lovable, Secrets
- Bolt, Check your project's security
- Bolt, Database: Authentication settings
- Bolt, Stripe for payments
- Bolt, Hosting
- Bolt, Database
- v0, Security
- v0, Deployments
- v0, Full-stack apps
- Replit, Security
- Replit, Agent security scans
- Replit, Development and production databases
- Replit, Security checklist
- Claude Code, Scan your codebase for vulnerabilities
- Cursor, Bugbot
- Cursor, Security Agents
- OpenAI, Review GitHub pull requests with Codex
- Supabase, Row Level Security
- Supabase, Advisors
- Supabase, API keys
- Supabase, Redirect URLs
- Supabase, Storage Access Control
- Supabase, Database Backups
- Next.js, Environment variables
- Vercel, Environment variables
- Vercel, Observability
- Stripe, Receive events in your webhook endpoint
Browse all launch guides · Read resources · How to make and check your next change
FAQ for builders before launch
Which AI app generator produces the most production-ready code?
None of them reliably does by itself. Lovable, Bolt, v0 and Replit Agent each check part of the list above, and Cursor, Claude Code and Codex review the code you point them at. Whichever tool wrote the app, verify row level security, secrets, env vars, auth redirect URLs, webhook signatures, storage policies, backups and error monitoring on the repo and on the live project before launch.
Does Lovable check this list for me?
Part of it. Lovable hosts the app with a built-in backend, Lovable Cloud, built on Supabase, or your own Supabase project. Its Quick scan runs on every publish and reviews database access rules, including tables without row level security and file storage rules. The Deep scan, which you start, also reviews app code. Lovable says the scans cannot guarantee complete security.
Does Bolt check this list for me?
Part of it. Bolt publishes apps to a bolt.host address and creates a Bolt database when needed. Its security audit, on paid plans, reviews code and database, including who can see and change data and whether private keys reach the browser. Its auth settings doc covers the Site URL and redirect allow list, and warns that the default localhost:3000 Site URL does not work for live apps. Its Stripe integration verifies webhook signatures automatically.
Does v0 check this list for me?
Part of it. v0 defaults to Next.js and deploys to Vercel. Its security page says v0 analyzes NEXT_PUBLIC_ usage and warns about potential risks, and recommends separate development and production keys. Env vars for Production, Preview and Development are set in the Vercel project, so checking their values is yours.
Does Replit Agent check this list for me?
Part of it. Replit publishes the app with two databases: a development database Agent builds with, and a production database created at publish, which Agent cannot modify. On paid plans, Security Agent scans the codebase for code, dependency and privacy vulnerabilities. Replit says AI-generated code still needs security review and that a scan is not a complete security review.
Do Cursor, Claude Code or Codex check this list for me?
Their documented security review features review code and pull requests. Claude Code's /security-review runs a single pass over the current branch, and Anthropic says its Claude Security plugin does not replace your existing source-code security tools. Cursor's Bugbot and Security Agents review pull requests. Codex reviews GitHub pull request diffs, and its Security Review, in research preview, gives a more in-depth review of potential security issues. Checking your live project settings is still your job.