Authentication Checklist for AI-Built Apps
Sign up, log in, password reset, 2FA
When you vibe code authentication with tools like Cursor, Lovable, Bolt, v0, or Claude Code, the generated code often works in development but misses critical production requirements. This checklist helps you catch what AI missed before you ship.
Danger Zone
critical riskIf someone can pretend to be your user, nothing else in your app matters
Login looks simple — an email field, a password field, a button. But behind that button is a whole world of things that need to go right: remembering who's logged in across page refreshes, making sure "forgot password" links can't be guessed, stopping someone from trying a million passwords, and handling what happens when people sign in with Google or GitHub. Every shortcut here is a door left unlocked.
Common mistakes
- Passwords stored in a way that's easy to reverse (like a simple scramble instead of a proper one-way lock)
- "Stay logged in" tokens that never expire — so a leaked token works forever
- "Forgot password" links that follow a guessable pattern
- No limit on login attempts — someone can try thousands of passwords per minute
- Sign in with Google/GitHub that doesn't properly verify the response, letting attackers fake it
Time to break: 6-18 months before someone finds and exploits a weakness
How are you building this?
Showing what to check when using a managed service
Audit Prompts
Copy these into your AI coding assistant to check your implementation.
Checklist
0/10 completed
Smart Move
Use a serviceLogin is the riskiest thing to build yourself. One mistake exposes every user. Services like Clerk or Auth0 handle security updates, edge cases, and compliance across millions of apps — and most have generous free tiers. Unless you have a very specific reason to build your own, don't.