Inside EndToEnd

A conversation sealed before it leaves

Send direct messages through an encrypted session established after a friendship is accepted.

The everyday friction.

A conversation needs delivery, but the service does not need readable copies of its words. It also helps to choose who can start a conversation, rather than have every discovered account become an open messaging channel.

A different way through.

EndToEnd uses friend requests before opening a direct session. Messages are encrypted on the sender’s device using a libsignal-based session, and the recipient’s device opens them. The relay stores ciphertext, with reply threads available inside the chat.

See the idea take shape.

Three moments in the experience. Explore the intended flow below.

  1. Find a friend by handle
  2. Accept the connection
  3. Open a chat and send a message
EndToEnd / A conversation sealed before it leavesIllustrative walkthrough

Keep the contents at the ends

Let the service deliver the conversation without giving it the readable message text.

The difference it can make.

Keep the contents at the ends

Let the service deliver the conversation without giving it the readable message text.

Choose who can connect

Accept or decline a friend request before the account can establish a conversation with you.

Follow a particular reply

Use threads to keep a side discussion connected to the message that started it.

Where it stands.

Good ideas deserve an honest description of where they are today.

In development

This build supports one device per account, and an account password cannot restore keys in another browser.

Follow EndToEnd in the journal