Security Checklist Before You Launch an AI-Built App

Plants.work · · upskilling
Security Checklist Before You Launch an AI-Built App

A 7-part checklist for vibe-coded apps: access control, secrets, user input, auth, dependencies, personal data and recovery, based on OWASP and Veracode.

It is the night before launching the app you built with AI. Everything looks ready: the design is clean, forms submit, data lands in the database. But the question to ask before sharing the link is: "If someone deliberately tried to break in, what would this app expose?" An app that works is not necessarily safe, and AI tends to focus on making features work rather than defending against people who misuse them.

Why AI-built apps need their own checklist

Veracode published research in July 2025 that tested more than 100 language models on 80 coding tasks and found security weaknesses in AI-generated code in 45% of cases. The point is not that AI is bad. It is that AI writes what you ask for, and you usually do not ask for security. Snyk's article on vibe coding security recommends treating AI code like a junior developer's work that always needs review.

Another useful reference is the OWASP Top 10:2025, a widely used list of web application risks. Number one is Broken Access Control, followed by Security Misconfiguration. Both are exactly where vibe-coded apps often slip.

A 7-part checklist before launch

1. Access control

2. Secrets and keys

3. User input

4. Authentication

5. Dependencies

6. Personal data

7. Abuse and recovery

Example: a restaurant hiring part-time staff

The owner of a three-branch restaurant builds a part-time application site where applicants upload a copy of their ID card. Before launch she runs the checklist and finds two issues: the storage bucket is public, so anyone with a link can open files, and the applicant list page only hides its menu item, so typing the URL directly still works. She asks the AI to move files to a private bucket and add an admin check on the backend, then re-tests from a logged-out device. Had either issue reached launch day, it would have been an immediate data leak.

The gap between an app that "works" and an app you can "ship" is one checklist, and it matters a lot.

Caveats about this checklist

What to do next

  1. Copy the 7-part checklist into your project notes
  2. Have the AI review one category at a time and point to the relevant files
  3. Test yourself with test accounts and a logged-out device
  4. Repeat every time you add a feature that touches data or permissions

To understand permissions and keys in more depth, read Backend for Vibe Coders. If you handle job applicant data, the Plants.work article PDPA for HR helps you store that data properly.