Fethi BoughaliaSecurity engineering portfolio
← All case studies

03 / Private communication

Endryn

A local-first, metadata-minimizing communication prototype that explores device-owned identity and invitation-only private connections.

Role
Designer & developer
Client
React Native · Expo
Storage
SQLite · local first
Protocol
Ed25519 · X25519

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

Device identity
Local keys · pinned contacts
→
Rendezvous relay
Opaque · short lived
→
Peer device
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.