Parch chat requires no email logins — your browser generates your cryptographic identity, the relay validates signed host/user challenges plus short-lived space capabilities, and only intended recipients can read your messages.
No accounts, no passwords. Your browser generates everything you need.
The first time you open Parch chat, your browser generates two keypairs entirely on your device. No server is involved — your keys never leave your browser unless you explicitly export them.
Challenge-response on both sides: host to relay, then browser to relay.
The host signs a relay-issued challenge with its host signing key to become the active host session.
parch-host-auth:<hostUUID>:<challenge>
After host responsiveness is confirmed, relay sends your browser an auth challenge.
Your browser signs a structured message with its Ed25519 private key.
parch-chat-auth:<hostUUID>:<challenge>:<encPublicKey>
The encryption public key is bound into the signed payload, preventing key substitution attacks.
Relay verifies signatures, then requires host-signed capability tokens for space-scoped actions like joining channels, sending chat, and reading history.
Capability tokens are short-lived and space-scoped. The host issues them for your authenticated public key, and relay validates signature, scope, and expiry before routing sensitive actions.
Every message is encrypted, wrapped, and signed before it touches the network.
A unique symmetric key is generated for this message alone
Plaintext becomes ciphertext + initialization vector (IV)
For each recipient, the AES key is wrapped via key agreement + derivation
The entire envelope is signed, proving sender and detecting tampering
Three layers, clear boundaries. Plaintext never leaves the browser.
Things to keep in mind when using Parch chat.