Security

How Relay protects your messages and privacy

Encryption

Relay uses end-to-end encryption (E2EE) based on NaCl/X25519. When both sender and recipient have encryption enabled, messages are encrypted client-side before being sent.

The server stores only ciphertext. Relay cannot read the content of encrypted messages.

E2EE is active when both parties have keys enabled. You'll see a lock icon on encrypted messages.

What Relay Stores

  • •Wallet addresses (public identifiers)
  • •Message timestamps and routing state
  • •Ciphertext for encrypted messages (not readable by server)
  • •Public encryption keys (for key exchange)

We store minimal metadata necessary for message delivery and routing.

Current Limitations

Note: This is an early implementation with known limitations.

  • •Single-device key storage (keys are stored locally in your browser)
  • •No forward secrecy yet (compromised keys could decrypt past messages)
  • •No multi-device sync for encryption keys

Planned improvements: forward secrecy, multi-device support, and key backup options.

Safety Defaults

  • Links are hidden from unknown senders by default
  • Suspicious content triggers visual warnings
  • One-tap block for any sender
  • Unknown senders routed to Requests (not Primary)