Your communication and task hub Encrypted to this device only
Welcome
This device has never set up Cortex. Let's create your encryption keys.
What happens in setup: 1. Generate a keypair on this device 2. You set TWO passphrases (daily + recovery) 3. Your private keys stay encrypted on this device only
Cortexv0.2
Setup · step 1 of 3
Daily passphrase
You'll type this when biometric isn't available.
enter passphrase
Stored as Argon2id-derived key. Robbie never sees it.
Cortexv0.2
Setup · step 2 of 3
Recovery passphrase
If you lose this device. Write on paper, store offline.
enter passphrase
Critical: Lose this and you cannot recover your Cortex history if this device dies.
Cortexv0.2
Setup · step 3 of 3
Generate keys
Ready to generate Curve25519 + Ed25519 keypairs. Happens in your browser.
Takes about 1-3 seconds. Argon2id is intentionally slow.
Cortexv0.2
Optional · biometric
Enable biometric?
Fingerprint or face unlock instead of typing the passphrase each time.
Stays in Android Keystore. Never leaves your device.
Cortexv0.2
Locked
🔒
Tap to unlock with biometric
Use passphrase instead
🛡 XChaCha20-Poly1305 · Curve25519 · Argon2id
Cortexv0.2
Enter daily passphrase
Unlock
Type your daily passphrase.
Cortex v0.2 unlocked
You're in. Day 3+ wires the Hub interface, sync, and channel pulls. This stub confirms encryption works end-to-end.
Encryption status
checking...
Public key (encryption)
-
Public key (signing)
-
Encryption round-trip test
click button
Day 2 verification
✅ libsodium loaded ✅ Keypair generated ✅ IndexedDB persists encrypted keys ✅ Argon2id derivation works ✅ XChaCha20-Poly1305 works (run test) ✅ Lock + unlock works ✅ WebAuthn biometric optional