# OnionWire Lean Tor messenger: one Rust process (ratatui + E2EE + sqlite + in-process Arti). Two people scan a QR, then chat. No hosted server. ## Locked model - **Identity = ed25519 public key.** Friends are `UNIQUE(pubkey)`. - **Onion = locator only.** It can change. Never treat `.onion` as the roster key. - **F4 rotates the onion** (confirm by typing `ROTATE`). Same identity key. Offline friends need a QR rescan. - **No XMPP, no Prosody, no s2s, no C-tor binary, no DHT, no outbox in v1.** Plan of record: `/home/lancelot/.hermes/plans/2026-09-10_004409-onionwire-lean.md` ## License MIT