master_secret never leaves your browser.
Passwordless Authentication Β· The master secret never leaves your browser.
Authentication proven cryptographically via HMAC-SHA256.
The server verifies without knowing your secret.
# V2 Zero-Knowledge Flow
1. Client derives user_id from master_secret
# PBKDF2-SHA512, 100k iterations
2. Server generates random challenge
# 64-char hex string
3. Client computes HMAC(challenge, user_id)
# HMAC-SHA256, client-side only
4. Server verifies HMAC
# Constant-time comparison
# Result: Authenticated β
# Server knows: NOTHING about your secret
Derives user_id from master_secret using PBKDF2-SHA512 (100k iterations).
Computes HMAC-SHA256(challenge, user_id) locally. The secret never leaves the browser.
RFC 2104Stores only user_id (derived). Generates random challenges. Verifies HMAC.
If the database is leaked, there's nothing to exploit. No hashes, no emails, no secrets.
Nothing to stealCreate an account in 2 seconds. One master secret. No personal data.
π‘ How it works (V2 - Real Flow)
1. Your secret is used locally to derive a user_id (via Web Crypto API).
2. The server only sees the user_id and generates a random challenge.
3. Your browser computes HMAC-SHA256(challenge, user_id).
4. The server verifies the HMAC without knowing your secret.
The master secret NEVER leaves your browser.
β οΈ Important
If you lose your master_secret, you cannot recover your account. There is no "Forgot Password" because the server doesn't know your secret. This is the trade-off for zero-knowledge security.