Vibe-Coded App Production Readiness Checklist: 43 Checks Before Launch

A production readiness checklist for a vibe-coded app is a list of the checks a senior engineer would run before an app built with Cursor, Lovable, Bolt.new, v0 or Replit Agent takes real users, real data or real money, with a way to verify each one and a definition of what passing looks like. This is ours. It has 43 checks across the eight areas we score in every audit, plus two conditional areas for apps with an AI feature inside and for products that will face a compliance questionnaire. It is written so a founder can run the first pass without reading code, and so an engineer can run the full pass in a day.
Key takeaways
- Eight areas decide production readiness: security, code quality, architecture, scalability, tech stack fit, deployment and infrastructure, maintainability, and technical debt. Two more apply conditionally: the AI boundary, and compliance.
- Any failed check in Security or Deployment blocks launch on its own. Everything else is a budget line.
- Every check has a verification step and a pass state. A check you cannot verify counts as failed.
- Four codebases we scored recently landed at 3, 5.5, 8.5 and 3.3 out of 10. All four had holes the founder did not know about. All four were fixable without a rewrite.
- If you cannot run the checks yourself, the vibe coding cleanup audit runs them for you, scores the same eight areas and quotes a fixed price for the fix, from $199.
Published November 2026. The checks come from the categories in our vibe coding security risks and vibe coding technical debt guides, the seven-step workflow in how to audit a vibe-coded app, and the findings from audits we have delivered. Every example of a failed check is a real finding from one of those audits, anonymized.
Before you start: three things to set up
- Two test accounts. Most of the security checks are "sign in as the second user and try to reach the first user's data." Create both before you begin.
- A production build, not the source. Secrets and debug strings leak through bundling. Build the app the way it deploys and search the output.
- Read-only access for whoever runs this. Nothing on this list needs write access to production or customer data. If a reviewer asks for it, ask why.
Work the areas in order. Security and deployment come first because a fail there is a stop; the rest produce a budget.
1. Security
This is the area a scanner is good at and still the one with the worst findings, because the most damaging bugs are lines of code that were never written. A scanner reports on code that exists. The checks below test for code that is missing.
Launch gate: any fail here means the app is not ready, whatever the other areas score.
2. Code quality
AI-generated code is locally tidy and globally inconsistent, because each prompt was answered on its own. These checks look for the inconsistency and for the one quality bug that costs money directly.
3. Architecture
The question is not whether the architecture is elegant. It is whether the server is in charge, whether change is cheap, and whether the data model can carry the next two features.
4. Scalability
An app that handled its first hundred users effortlessly tends to fail at a thousand in predictable places: query count, concurrency, and jobs that nobody secured.
5. Tech stack fit
Models default to the patterns they saw most often in training, which runs 18 to 36 months stale. The code works and looks older than the project.
6. Deployment and infrastructure
The cheapest area to fix and the one most often skipped entirely. "Deploy on push" is not a pipeline.
Launch gate: an app with no test gate and no rollback is not ready, even if every security check passed.
7. Maintainability
This is what your first engineering hire will hit on day one. The conversation that starts with "how do I run the tests" and ends with "there are none" sets the tone for the next three months.
8. Technical debt
Debt you chose is a plan. Debt the model chose for you is a surprise. The checks here turn the surprise into a number.
9. AI boundary (if the product has an AI feature)
If your app has a chat assistant, an import that reads documents, or an MCP interface, the model sits one step away from your users' data and money. We run a 120-case prompt-injection corpus against the real handlers in the audit; the three checks below are the manual version.
Launch gate: a product that lets injected text drive an action is not ready.
10. Compliance (fintech, health, HR)
Bank aggregators, app stores and payment providers send a security questionnaire before they let you in, and investors send a due-diligence list. These arrive before the first customer does.
How to score it
Count the fails per area. Then apply two rules. First, any fail in Security (area 1), Deployment (area 6) or the AI boundary (area 9) means not ready, full stop; those are the areas where a single missing line is an incident. Second, the remaining fails are a budget, not a verdict: estimate the engineer-weeks to close them and decide whether to fix before launch or after. The curve from our delivered audits is worth keeping in mind while you decide: the same fixes cost roughly 1 engineer-week at proof-of-concept stage, 4 once real users and real data are involved, and 9 after a first hire has to understand the code before touching it.
For reference, the audit version of this scoring weights the eight areas and produces a production-readiness score out of 10. The four most recent codebases we scored came out at 3 (an Expo and Supabase app with hardcoded keys live in production and unauthenticated payment endpoints), 5.5 (a Next.js and Stripe marketplace whose webhooks were stubs), 8.5 (a well-built operations system that still had float invoices and a payment race condition) and 3.3 (a 1,600-file finance app with 56 findings, 33 of them high, and none exploitable from outside). The 8.5 is the one to remember: good architecture and money bugs coexist, which is why the checklist tests behaviour, not structure.
What the tools leave to you
Each generator skips a different part of this list. Lovable wires Supabase in but does not write your row-level security policies for you; Bolt.new ships functional-first code where auth and validation were only added if you asked; v0 produces UI only, so everything behind it is yours; Cursor extends whatever baseline your repository already had; Replit's hosting covers the infrastructure while the generated code still decides auth and data access. The per-tool breakdown, with a check for each, is in our comparison of vibe coding tools.
The done-for-you version of this checklist
If the checks above are beyond what you can read yourself, that is the normal state for a founder who built with AI, and it is what the vibe coding cleanup audit exists for. A senior engineer reads the repository with read-only access, scores it across the same eight areas, ranks every finding worst-first, and quotes a fixed price to close them. You get the scorecard, the ranked risk map, a remediation roadmap and a debrief call with the engineer who wrote it. From $199, fixed, with nothing else triggered.
On the four codebases above, the audit found hardcoded keys in production, payment endpoints with no authentication, an open redirect, stubbed Stripe webhooks, a payment race condition and three leaking RLS policies on a table set that had RLS switched on. The founders had not seen any of it. None of the four needed a rebuild.
If you would rather do it yourself and want the full method, how to audit a vibe-coded app before launch covers the seven-step workflow, what a scanner cannot see, and what the deliverable should look like. For the background on why AI-built code fails in these specific places, start with what vibe coding is and the two guides this checklist was built from.
Sources: the OWASP Top 10 for the security categories; Supabase's row-level security documentation for check 1.4.
Frequently asked questions
What is a production readiness checklist for a vibe-coded app?
A list of the checks that decide whether an app built with an AI coding tool can safely take real users, data and payments. The one above has 43 checks across eight scored areas plus two conditional ones, each with a verification step and a pass state. It differs from a generic production readiness checklist in that it tests for the code AI tools leave out: ownership checks, policies, signature verification, rate limits and tests.
How long does the self-check take?
A founder who cannot read code can run roughly a third of it in an afternoon: the two-account tests, the bundle grep, the malformed-request tests and the deployment questions. An engineer can run the full list in about a day on an app under 25,000 lines. The audit takes days because a person reads the code as well as running the checks.
Is a free security scanner enough?
Run one; it is free and it is good at security holes. It will not run a second account against your RLS policies, send a prompt-injection corpus at your assistant, test a race condition, or tell you how many engineer-weeks you are from production quality. Those are the checks that produced the worst findings above.
What score means ready?
There is no single number. Zero fails in Security, Deployment and the AI boundary, plus a written budget for everything else, is ready. A high overall score with one unauthenticated payment endpoint is not.
Do I need this if an engineer used Cursor?
Yes, with a lighter touch. Cursor extends the baseline of the repository it is pointed at, so the result is as good as the baseline and the attention paid to each accepted diff. The 8.5-out-of-10 codebase above was engineer-steered and still had a webhook signature check that was a comment.