Start here 8 min readUpdated 16 Oct 2026
Pre-launch checklist for vibe-coded apps
A plain-English pre-launch checklist for vibe-coded apps: security, auth, payments, testing, backups, compliance and App Store review, from official docs.
Before a vibe-coded app takes real users or real money, check six things: who can read and change which data, how people sign in, how payments are confirmed, whether the main flows work on the live deploy, whether you can restore your data, and what you have promised users about privacy. If you are shipping to iPhone, add Apple's review basics: a working demo account, a live backend during review, in-app account deletion, and a privacy policy. Each item below links to the official page it comes from.
This checklist responds to a post that went around this week. Its author says people often tell them they built an app with AI over a weekend and no longer need developers, and lists what the app should have before a paying customer uses it, as reported in this post on X (Oct 15, 2026). In our view, the list is long but the spirit is right. Here is a shorter version you can work through.
1. Security: start with access control
The OWASP Top 10:2025 is a standard awareness document for web application security. Its first entry is A01 Broken Access Control, followed by Security Misconfiguration, Software Supply Chain Failures, Cryptographic Failures, Injection, Insecure Design, Authentication Failures, Software or Data Integrity Failures, Security Logging and Alerting Failures, and Mishandling of Exceptional Conditions (OWASP Top 10:2025, checked Oct 16, 2026).
For a typical vibe-coded stack, that first entry usually means your database:
- Turn on Row Level Security on every table. Supabase says that "a table in an exposed schema without RLS is readable and writable by any role with a grant on it," and asks you to enable RLS on every table in an exposed schema (Supabase docs, Row Level Security, checked Oct 16, 2026).
- Revoke default grants you don't need. The same page notes that adding policies doesn't remove grants to
anonandauthenticated, so revoke them where a project still has them. - Keep the service role key on the server. Supabase notes it bypasses RLS.
- Run Security Advisor and enable SSL enforcement and network restrictions from the dashboard (Supabase docs, Production checklist, checked Oct 16, 2026).
- Store secrets as secrets. On Vercel, sensitive environment variables are treated as Secret in the dashboard and API (Vercel docs, Sensitive environment variables, checked Oct 16, 2026).
- Decide who can see previews. Vercel's Deployment Protection controls who can access preview and production URLs (Vercel docs, Deployment Protection, checked Oct 16, 2026).
A quick test: sign in as one user and try to load another user's record by changing an ID in the URL or request. If it works, stop and fix it.
2. Authentication
- Protect your admin accounts. Supabase recommends multi-factor authentication on your Supabase account, and 2FA on GitHub if you sign in with it, because GitHub access gives admin rights to your Supabase org (Supabase docs, Production checklist, checked Oct 16, 2026).
- Use your own email sender. Supabase suggests setting your own SMTP credentials so you control delivery of auth emails.
- Test the boring paths. Password reset, email change, sign-out on every device, and an expired session. OWASP lists Authentication Failures as A07.
3. Payments
Stripe's go-live checklist is short and worth reading in full (Stripe docs, Go-live checklist, checked Oct 16, 2026). The main points:
- Register live webhook endpoints, and make sure they handle delayed and duplicate events and don't depend on events arriving in a specific order.
- Verify webhook signatures using the
Stripe-Signatureheader and your signing secret, and keep the raw request body intact, since any change makes verification fail (Stripe docs, Webhooks, checked Oct 16, 2026). - Don't rely on test objects. Products and prices created in a sandbox aren't usable in live mode.
- Rotate your API keys before launch and make sure no keys are in your code.
- Test edge cases: incomplete, invalid and duplicate data, and every error type.
- Log carefully: keep your own logs, but not card details or personal information.
In our view, the most common mistake is unlocking paid features from the browser's redirect after checkout instead of from a verified webhook.
4. Testing
- Write down your three to five critical flows (sign up, the core action, paying, cancelling) and run them on the deployed app, not only locally.
- Have someone else try it. Stripe recommends having another person test your integration, "especially if that other person isn't a developer."
- Watch for errors you show users. Stripe suggests treating a declined card differently from a backend error, and OWASP's A10 covers mishandling of exceptional conditions.
If you use AI agents to fix bugs before launch, our guide to a definition of done for AI coding agents covers how to keep them from editing tests to pass. The QA Bot listing describes a bot that runs an acceptance checklist on the live deploy.
5. Backups
- Know your plan's backups. Supabase automatically backs up Pro, Team and Enterprise projects daily. Pro can access the last 7 days, Team 14 days, and Enterprise up to 30 days. Free plan projects should export their data regularly, and their backups are not available for download (Supabase docs, Database Backups and Production checklist, checked Oct 16, 2026).
- Consider Point-in-Time Recovery if you need more frequent backups. Supabase recommends it for databases expected to grow beyond 4 GB.
- Practise one restore into a separate project before you need it.
6. Compliance and privacy
- Publish a privacy policy that says what data you collect, how, and why, and who you share it with. Apple requires this for App Store apps (see below), and it's sensible for web apps too.
- Collect only what you need. Apple's guidelines say apps may not require personal information unless it's directly relevant to the core function or required by law.
- Check the rules for your field. If you handle health, payments or children's data, there may be specific laws. In our view, that is the point to ask a qualified professional.
7. App Store: if your Xcode app is 80-90% done
From Apple's App Store Review Guidelines (checked Oct 16, 2026):
- Finish the build. Guideline 2.1 asks for final versions with full metadata and working URLs, with placeholder text and empty websites removed. Apple will "reject incomplete app bundles and binaries that crash or exhibit obvious technical problems."
- Test on a device for bugs and stability before submitting.
- Give reviewers access. If your app has a login, include demo account details, and "turn on your back-end service." A built-in demo mode is possible only with Apple's prior approval.
- Explain non-obvious features and in-app purchases in the review notes. Guideline 2.3.1 says generic descriptions will be rejected.
- Offer in-app account deletion if your app lets people create accounts (5.1.1(v)). Don't require a login if the app has no significant account-based features.
- Add a privacy policy link in App Store Connect and inside the app, in an easy-to-find place.
- Use in-app purchase to unlock digital features such as subscriptions or premium content (3.1.1).
- Check login options. If you use a third-party or social login for the main account, guideline 4.8 asks you to also offer an equivalent login service that meets Apple's privacy conditions.
- Make it more than a website. Guideline 4.2 says an app should go beyond a repackaged website.
Where to go next
For more on the stack pieces above, see our pages on Supabase, Vercel, and ShipCheck, a Claude Code plugin listed as running launch checks against a deployed app. Our vibe coding security checklist goes further on security.
FAQ
What's the single most important check? In our view, access control: make sure one user cannot read or change another user's data. It's first on the OWASP Top 10:2025.
Do I need webhooks for Stripe? If you use webhooks, Stripe asks you to register live endpoints and handle delayed, duplicate and out-of-order events. Verify signatures on every event.
Does Supabase back up free projects? Supabase's docs say daily backups cover Pro, Team and Enterprise, and free projects should export their data regularly.
What gets iOS apps rejected most often? Apple doesn't publish a ranking in its guidelines, but it says it rejects incomplete builds, crashes, and missing demo access.
Do I need account deletion in my iOS app? Yes, if the app supports account creation, per guideline 5.1.1(v).
Sources
- OWASP Top 10:2025 — https://owasp.org/Top10/2025/ (checked Oct 16, 2026)
- Supabase docs, Row Level Security — https://supabase.com/docs/guides/database/postgres/row-level-security (checked Oct 16, 2026)
- Supabase docs, Production checklist — https://supabase.com/docs/guides/deployment/going-into-prod (checked Oct 16, 2026)
- Supabase docs, Database Backups — https://supabase.com/docs/guides/platform/backups (checked Oct 16, 2026)
- Vercel docs, Deployment Protection — https://vercel.com/docs/deployment-protection (checked Oct 16, 2026)
- Vercel docs, Sensitive environment variables — https://vercel.com/docs/environment-variables/sensitive-environment-variables (checked Oct 16, 2026)
- Stripe docs, Go-live checklist — https://docs.stripe.com/get-started/checklist/go-live (checked Oct 16, 2026)
- Stripe docs, Webhooks — https://docs.stripe.com/webhooks (checked Oct 16, 2026)
- Apple, App Store Review Guidelines — https://developer.apple.com/app-store/review/guidelines/ (checked Oct 16, 2026)
- Source post on X — https://x.com/i/status/2110705357492203564 (read Oct 16, 2026)