The outer wall
Every gate that checks a password, sends an email or spends a token is rate limited.
- Limits per IP, per email and per user
- Same 429 whether or not an account exists
- IPv6 grouped by /56, so rotating addresses doesn't help
The defenses
Most breaches walk through the one door nobody guarded. CKAuth guards every one of them the same way, whether the account exists or not.
Every gate that checks a password, sends an email or spends a token is rate limited.
No session until the inbox owner proves they're also the person who signed up.
Even with the database in hand, there's nothing an attacker can replay.
Field manual
No passwords in emails, no codes to copy, no guessing which step comes next.
Sign up with your name, email and a strong password. The meter shows how well it holds.
Open the link we email you and confirm with your password. You're signed in on the spot.
Short-lived access, silently refreshed. Each refresh token works once, then it's replaced.
Forgot it? A reset link puts you back inside, and signs out every other device on the way.
Security
Assume the attacker knows your users' emails, has a botnet, and one day gets a copy of your database. The walls still hold.
Sign-up, sign-in and recovery answer identically for every email. Only the inbox owner learns the difference.
Registering your address with their password gets an impostor nothing: verifying needs both the inbox and the password.
Tokens rotate on every refresh, and changing or resetting your password ends every other session.
Your post is waiting
Create an account in under a minute. Verify your email once, and you're in.