The problem
Communication systems commonly centralize account identity, contact graphs and message history. Endryn explores a different boundary: identity begins on the device, contacts require explicit short-lived invitations, and infrastructure should not become a permanent database of people or conversations.
Architecture
Local keys · pinned contacts
Opaque · short lived
Invitation approval
Trust boundary: the relay helps devices find each other, but contact requests and responses are signed and encrypted before reaching it.
Engineering decisions
- Each installation creates separate Ed25519 signing and X25519 agreement keys.
- Single-use invitations expire after fifteen minutes and can be shared as a QR code or deep link.
- HKDF-SHA-256 and XChaCha20-Poly1305 protect authenticated rendezvous envelopes.
- The relay holds opaque envelopes in memory with expiry, acknowledgement deletion, size limits and basic rate controls.
- Local SQLite persistence supports testable inbox, message, expiry, attachment and privacy-lock workflows.
Security status
- Contact fingerprints are pinned locally and remain visible for out-of-band comparison.
- Native identity keys use secure device storage; browser previews use origin-local storage and are explicitly labelled as prototypes.
- No phone number, email account or contact upload is required to create a local identity.
Honest limitation: Endryn is a product prototype, not a production-secure messenger. Chat messages do not yet leave the device through a ratcheting protocol, the local database and attachments are not yet encrypted at rest, the relay can observe network metadata, call screens are previews, and the cryptographic implementation has not been independently audited.
Evidence status: Project website, implemented prototype and documented security architecture. Production readiness is not claimed.