Passwords are never stored
Passwords are hashed with scrypt using a per-user random salt and deliberately expensive parameters (N=32768, r=8, p=3). Older hashes are upgraded automatically after a successful login. Verification uses a constant-time comparison.