Security & Privacy

What we can promise, and what we can't

To be precise: message content in Gather is end-to-end encrypted and the servers never hold it in plaintext. Below is how it works, and where it still falls short.

Say it to the right person. Keep the key in your own hand.

Encryption

  • Direct messages: X3DH key agreement plus the Double Ratchet, the same family as the Signal protocol.
  • Groups: one key chain per sender; every message carries the sender's Ed25519 signature.
  • Primitives: Ed25519, X25519, AES-GCM, HKDF-SHA256.
  • If encryption fails the message is not sent. There is no plaintext fallback.

Identity and accounts

  • No phone number, email or real name. Your identity is a key pair generated on your device.
  • Your private key and recovery phrase stay on your device. Neither the nodes nor we can get them.
  • That also means that if you lose your recovery phrase, nobody can recover your account.

What the nodes can see

To deliver a message, the network has to know some things. We would rather tell you exactly what.

InformationNodes
Message text, and the content and names of photos, voice messages and filesCannot see
Your profile, such as nickname and avatarCannot see
Group names and announcementsCannot see
Group member lists (not stored on nodes)Cannot see
Your IP address and connection identityVisible to the entry node you connect to
When and how often you send messagesVisible to the entry node you connect to
Who your messages are addressed toVisible to the entry node you connect to

The sender is hidden when nodes relay messages to each other, and offline messages are tied only to a mailbox ID that changes every day. The entry node you connect to, however, still knows who you are talking to.

How offline messages are stored

When your contact is offline, the message is stored as ciphertext on several nodes. Those nodes only see a mailbox ID that changes daily and the ciphertext — not the sender or the recipient — and only the recipient can prove the right to collect it. Messages are kept for up to 30 days.

Metadata protection so far

  • The sender is hidden when nodes relay messages to each other.
  • Online presence uses identifiers that rotate daily.
  • Push notifications only wake the device; they carry no identity or content.
  • Addresses are redacted in node logs.

The node network

  • Nodes connect peer to peer using libp2p and a Kademlia DHT. There is no central database or account server.
  • To join the network a node must hold a certificate issued by an approved operator (a permissioned network). Every node verifies this locally.
  • The app ships with several signed entry points and switches automatically when the current node is unavailable.

Releases and builds

  • A node release manifest is only valid when signed by any 2 of 3 release keys, and includes rollback protection and an expiry. Node software never downloads updates by itself.
  • Node software uses a reproducible build process and ships with a software bill of materials (SBOM).

What we have not solved yet

A security page only means something if it is honest about the limits.

  • The entry node you connect to still knows who your messages are addressed to. Further protection for this layer of metadata is still being designed.
  • Gather has only been reviewed internally so far. It has not yet had an independent third-party audit.
  • The nodes are currently run by us. There are no independent operators yet.
  • Chat history on your phone relies on the phone's own encryption and screen lock. Please set a screen lock.
  • Voice and video calls may fail to connect on some networks.