Textor
A private messenger that is nothing but a web page.
Philosophy
There is no Textor server to compel, breach or shut down, because there isn’t one. Your identity is a key made in your browser and backed up as twelve words; messages are sealed before they touch the network. It also lists its own limits — no forward secrecy for direct messages yet, no push notifications — because a privacy tool that only lists its strengths isn’t being straight with you.
Architecture
Each message is a NIP-17 private message: sealed with NIP-44, then gift-wrapped (NIP-59) under a one-time key with a fuzzed timestamp and a padded size, and sent to several public Nostr relays that act as dumb encrypted mailboxes. When both people are online, a direct WebRTC channel delivers it instantly. Inside the browser the UI never touches a transport or the database: it goes through the store, the engine and the vault, and the core runs in Node under test.
| Backend | none |
|---|---|
| Identity | 12 words (NIP-06) |
| Install | under 800 KiB |
| Licence | AGPL-3.0 |
- React UIscreens · i18n · RTL
- Zustand storea projection for the UI
- Messenger enginereceipts · retries · dedup
- VaultXChaCha20 · keyslots
- Nostr transportrelay pool · WebRTC
- Public relaysciphertext only