pre_launch_checklist

Ship without the 3 AM incident

35 practical checks for your app. Audit your code, fix the gaps, and track what you’ve verified.

How it works

Copy a category’s audit prompt into Claude Code, Cursor, or ChatGPT with access to your repository. Review the findings, make fixes, and tick each check once you’ve verified it. Use “Learn this” when you want a worked example. This is your own checklist, not an automatic security scan.

01 / AUDIT02 / FIX03 / VERIFY

checklist progress

0/50%

Continue your checks →

Saved on this device. Sign in with the full game to sync across devices.

gate 01Auth & sessions

0/5
Audit your code

View audit prompt
You are a senior application-security reviewer. Audit authentication and sessions in this codebase before I launch it. This is a READ-ONLY pass: find and report first, change nothing until I pick the fixes.

Start by identifying the framework, auth library, and session mechanism from package.json and config, so your findings match my real stack. Report only what you can cite with a file:line — if something isn't present, say so plainly. Never invent a finding or call code secure you did not actually read.

1. Privileged operations. List every route, server action, and API handler doing something privileged (admin views, deletes, exports, role/plan/credit changes). For each, confirm authorization is enforced SERVER-SIDE on that request. Flag anything guarded only by hidden UI, a client-side role check, or an unguessed URL.
2. Password storage. Show exactly how passwords are stored. Flag anything that isn't bcrypt/scrypt/argon2 with a per-user salt — MD5, SHA-*, base64, reversible encryption, plaintext.
3. Sessions. Report token expiry, whether refresh + server-side revocation exist, and whether session cookies set httpOnly, Secure, and SameSite. Flag tokens kept in localStorage, and confirm logout and password-change actually invalidate sessions server-side.
4. Password reset. Flag reset tokens that are long-lived, reusable after use, or guessable, and any flow that emails the password itself.
5. Backdoors. Search for hardcoded or default credentials (admin, test@, "password ===", changeme, 123, "TODO remove").

Severity: critical = a stranger can exploit it now; high = needs a login or effort; medium = hardening. Output a table: file:line | issue | severity | one-line fix. Then stop and ask which criticals to fix — minimal diffs, nothing unrelated.
  • Hidden buttons and client-side role checks are decoration — the server decides who can act.

    Learn this
  • Fast or reversible storage means a database leak instantly exposes real passwords.

    Learn this
  • Long-lived tokens are skeleton keys; naked cookies leak over HTTP and to any script.

    Learn this
  • If you can email someone their old password, you're storing it recoverably.

    Learn this
  • Automated scanners guess default logins against every form, constantly.

    Learn this

+ 30 more checks across 8 categories

Database, secrets, API endpoints, the perimeter, business logic, AI agents, hosting cost, and compliance — each with its own ready-to-paste audit prompt that scans your repo for that class of bug. The full checklist, saved to your account across devices. Included with the full game.

Database & dataSecrets & keysAPI & endpointsPerimeter & headersBusiness logicAI & agentsHosting & costCompliance & privacy