Signing in
- Passwords hashed with PBKDF2-SHA256 — 100,000 iterations and a unique salt per password
- Accounts lock after repeated failed sign-ins (5 attempts, 15 minutes by default, configurable)
- Signed access tokens that expire, and refresh tokens that rotate on every use and are revoked on sign-out or password change
- Password reset never reveals whether an account exists
- Sign-in and password-reset requests are rate-limited