← All guides

Pre-Launch Security Checklist for AI-Built Apps

Updated 2026-10-14

AI builders make it possible to ship a real product in a weekend. They also make it possible to ship the same few security mistakes over and over, because the code works long before it's safe. This checklist covers the issues that matter most for a typical AI-built app: a React or Next.js frontend, a hosted database like Supabase or Firebase, login, and Stripe.

It's ordered by impact. If you only have an hour, do the first three sections.

1. Secrets

Leaked keys are the fastest way for a small app to get an unpleasant surprise, like an AI bill or a drained database.

2. Database access

If your frontend talks to the database directly (as with Supabase or Firebase), the database rules are your backend security.

3. Authentication and authorization

// app/api/projects/[id]/route.ts
export async function GET(_req: Request, { params }: { params: Promise<{ id: string }> }) {
  const session = await auth();
  if (!session) return new Response("Unauthorized", { status: 401 });

  const { id } = await params;
  const project = await db.project.findFirst({ where: { id, ownerId: session.user.id } });
  if (!project) return new Response("Not found", { status: 404 });
  return Response.json(project);
}

4. Payments

5. Input handling

6. Abuse and cost controls

7. Dependencies

8. Headers and transport

9. Privacy and data

10. After launch

What an automated scan can and can't do

Automated tools are good at the mechanical parts of this list: finding key patterns, committed .env files, tables created without RLS, API routes with no auth check, webhook handlers that skip signature verification, and dependencies with known CVEs. On our own deliberately vulnerable sample app (Next.js, Supabase, Stripe), PreflightPR found 16 issues, 12 critical, and its fix PR resolved 8 automatically, leaving a checklist for the human steps like key rotation.

They're not good at judging business logic, like whether user A should see project B. That part still needs you to think it through.

Run a free scan on a public repo to get your launch score and top issues in about a minute. It's an automated best-effort review, not a penetration test or security guarantee, so use it alongside this checklist, not instead of it.

Check your repo in about a minute

Paste a public GitHub URL and get a free launch score.

Run a free scan

More guides