security

The server holds ciphertext it cannot open.

Messages, files and calls are sealed on your device before they leave it. The keys live in a vault on your devices and never reach our servers — so there is nothing for us to hand over, and nothing for a breach of us to expose.

01

What we hold, and what we cannot read

Solipsis is zero-knowledge by construction, not by policy. The distinction matters: a policy is a promise not to look, and a construction is an inability to.

We store
Ciphertext. Your email address, your public keys, and who belongs to which channel.
We can read
Nothing you write. No message, file, page, spreadsheet or call.
We can see
Metadata: that a message was sent, in which channel, when, and roughly how large.
We can sell
Seats.
Our own founder's admin console cannot show message content either. It is not permission-gated away — the plaintext does not exist on the server for it to query.
02

The cryptography

Standard, boring primitives, used the standard way. There is no novel cryptography here, which is the point.

Content
XChaCha20-Poly1305. Every message, file and page is sealed with the key of the channel it belongs to.
Key exchange
X25519 sealed boxes. A channel key is sealed individually to each member's public key.
Login
An Ed25519 signature over a timestamp. Your password is never sent to us, in any form.
Device vault
Argon2id stretches your password to unlock the seed stored on that device.
Calls
WebRTC media, encrypted by DTLS-SRTP. Call setup is itself sealed with the channel key.

Every channel has its own random 32-byte key, generated in a member's browser. To add someone to a channel, an existing member's browser re-seals that key to the newcomer's public key. Our servers relay the sealed result and never see the key inside it.

03

Your identity is bound to your devices

Your master key is random, generated when you sign up. It is not derived from your password, and it is never uploaded.

Your password unlocks the copy stored on the device you are using. That is all it does. A new device cannot be unlocked by your password alone — it is refused until you enter a transfer code, shown to you as text and a QR code from a device you already trust.

What this means during a breach

Stolen credentials — a phished password, a hijacked single sign-on session, an IdP compromise — buy an attacker an authenticated session on their own machine. They do not buy the keys, because the keys are not on our servers to be taken.

It is the reason a Solipsis workspace is a defensible place to run an incident, and the tool your team already uses generally is not.

04

Removing someone actually removes them

When the owner removes a member, their keys and membership are deleted, and the remover's browser mints a fresh generation of every channel key and seals it only to the people who remain.

Old messages stay readable for everyone who stayed — they keep the earlier generations. The removed member can decrypt nothing sealed after that moment.

The honest limit: a removed member who kept a copy of an old key and a copy of old ciphertext can still read the old messages. No system can retract a key someone already has. Re-keying is what stops them reading anything new.
05

Everything that leaves the browser is metadata-only

Features that reach the outside world were built to be structurally incapable of carrying content, not merely configured not to.

  • Push notifications say a message arrived in a channel. They never contain the message.
  • Outgoing webhooks send a signed event with the channel and the sender's id. No content, no ciphertext, no keys.
  • Audit logs record who did what and when. Never what was said.
  • Search runs entirely in your browser, against your own decrypted index. Searching is never something we observe.
06

The limits, stated plainly

Encryption buys specific things and not others. These are the places where Solipsis will not help you.

Metadata
We can see who talks to whom, in which channel, and when. Content is sealed; the shape of your traffic is not.
Recovery
Lose every device and the transfer code, and the data is gone. We cannot reset it — there is no key of ours to reset it with.
Your device
A compromised laptop reads your messages, because you can. End-to-end encryption protects the wire and the server, never the endpoint.
Server-side search
There isn't any, and there cannot be. Search is local, so a very large history costs your browser memory rather than ours.
Audits
No third-party cryptographic audit has been published yet. The primitives are standard and the design is described here in full.
What we have and don't have →Compliance, hosting, subprocessors
07

Questions

Is Solipsis end-to-end encrypted by default?

Yes, on every plan, in every channel and direct message, with no setting to turn it off. There is no tier where we hold your keys.

Can Solipsis staff read my messages?

No. Content is sealed on the sender's device with a key our servers never receive. Our own admin console cannot display message content, because the plaintext does not exist server-side to display.

What can you give to law enforcement?

Account records and metadata, when legally compelled. We cannot produce the plaintext of messages, files or calls, and we have no mechanism to decrypt them. Our Law Enforcement Guidelines set out exactly what does and does not exist.

What happens if Solipsis is breached?

An attacker gets ciphertext, email addresses, public keys and membership metadata. Public keys are public by design and ciphertext is useless without keys we never held.

Can an attacker with my password read my messages?

Not from their own device. Your password unlocks a vault stored on a device you have already trusted; a new device is refused until a transfer code from an existing device is entered.

Is Solipsis open source?

No. The design is documented here in full and we operate a good-faith security research safe harbour, but you cannot currently compile the client yourself.