# simplex without accounts

· #privacy #simplex #messengers

salix@host:~/posts/simplex-deep-dive

I already gave SimpleX a section in my private-messenger comparison, but it deserves more than a few paragraphs. It is the newest messenger on that list and, more importantly, the only one built around the idea that the network should not know who its users are at all.

That sounds like a small distinction until you compare it with everything else. Signal still wants a phone number, even if you can hide it from other people. Matrix lets you own your identity, but your server still knows which account is yours. Threema replaces the phone number with a random ID, but that ID still exists.

SimpleX takes a stranger route: no account, no username and no permanent user ID. I like the idea a lot. I also think some of the claims around it deserve a closer look, because a clever protocol does not automatically make a frictionless app or erase every kind of metadata.

An account that does not exist

When you install SimpleX, your device generates cryptographic keys and keeps them locally. It does not register a global identity with a central service. There is no SimpleX equivalent of a phone number, Matrix ID or even a random public account number tying all your conversations together.

Instead, every direct connection gets its own pair of one-way message queues on relay servers. You start a conversation by sharing a link or QR code through another channel. From then on, messages in each direction travel through separate queues. One direction can use SimpleX’s default relays while the other uses different relays, including servers run by you or someone you trust. Ordinary groups are built from many of these pairwise connections; the newer Channels feature uses a different, relay-mediated model that I will come back to later.

From a relay’s point of view, those are separate streams of encrypted blobs. It does not get one convenient account saying that all of these chats belong to the same person. That is the clever part: instead of collecting an identity and promising not to misuse it, SimpleX avoids creating that identity in the first place.

The price of having no account

Of course, removing accounts also removes everything accounts normally do for you.

There is no “find friends by phone number” screen. To add someone, you need to get a link or scan a QR code through some other channel. That is either excellent privacy or annoying friction, depending on whether you are trying to stay anonymous or just get a family group off WhatsApp.

Moving to another phone is less magical too. There is no cloud account waiting to restore your contacts and history after you log in. Your keys and messages live on your device, so moving them means actually transferring the local data. The SimpleX team has made that easier over time, but it still asks more of you than Signal does.

This is the recurring trade-off with SimpleX. The things that make it awkward are often the exact same things that make it private. You cannot remove the server’s knowledge of your identity and then expect every identity-based convenience to keep working unchanged.

Dumb mailboxes, on purpose

The relay servers are basically encrypted mailboxes. They hold queues until the recipient checks in, but they are not part of the end-to-end encryption and cannot read the messages inside them. A relay only needs to know about the anonymous queues it serves, not the people at either end.

You can use the default relays, choose other people’s relays or run your own. Switching does not mean moving an account because, again, there is no account on the server to move. A relay operator can still refuse connections, remove queues or disrupt messages stored on that relay, so it is not powerless. What it cannot do is ban one global SimpleX account everywhere. You can move your connections to queues on other relays without changing identity, although an outage can still be annoying and may interrupt delivery.

That is probably my favourite part of the design. Self-hosting is useful, but SimpleX does not make self-hosting the price of admission. The relays are deliberately unimportant enough that trusting one matters less in the first place.

I have put that into practice now: I run a public salix.host SMP relay at smp.salix.host. The same relay is available as an onion service, and its project page has an add relay button that passes both routes straight to SimpleX. You do not need a salix.host account, and it works alongside any other relays you have configured. It is a personally operated service without an SLA, so use more than one relay rather than turning mine into your only point of failure.

The metadata question

There is still one part of the default setup that bothers me.

Since version 6.0, SimpleX uses private message routing by default when you send to an unknown destination relay. Your client gives each message to a forwarding relay you configured, which passes it to the relay chosen by your contact. The forwarding relay sees your network connection and when you send traffic, but end-to-end encryption hides the destination queue from it. The destination relay sees the queue, but receives the traffic through a shared connection from the forwarding relay instead of seeing your IP address or transport session.

When you receive messages, the relay you chose can still observe your connection and activity while you are online. The SimpleX privacy policy says its preset servers do not log user IP addresses, but a malicious or compromised relay could observe live traffic. Timing data also remains useful to a sufficiently powerful observer. Private routing splits knowledge between relays; it reduces the metadata available to either one, but it does not make traffic analysis impossible.

Tor is useful here, but not as a replacement for private routing. Connecting straight to a destination relay through Tor hides your real IP address, while still allowing that relay to see which queues share a transport session. SimpleX’s packet-by-packet private routing avoids giving the destination relay that view. The stronger setup is to use Tor or another suitable overlay to hide your IP address from the relays you choose while leaving private routing enabled. SimpleX already supports this through a SOCKS proxy, although I would still like to see the app make it easier to set up.

Where it still falls over

SimpleX is young, and sometimes it feels young. The apps have improved a lot, but they are still more fiddly than Signal. Moving keys between devices needs attention, some concepts take explaining, and the whole experience assumes you are willing to understand a little of what is happening underneath.

The bigger limit is traditional groups. A SimpleX group is built from pairwise connections, so every message has to be fanned out to the members separately. SimpleX says this design was intended for groups of roughly 100 people or fewer. Public groups with thousands of members have existed, but sending to each member separately costs traffic, battery and time. Version 6.3 improved the sending process, but did not remove that network cost.

There is an important update here: version 6.5 introduced SimpleX Channels, a beta relay-mediated model for scalable one-to-many publishing. Channels can be public, appear in the SimpleX Directory, retain state and support reading, reactions and comments. That makes SimpleX more useful for broadcasts and public publishing than it used to be. It is not yet the same as a mature, interactive Matrix room or Discord-style community, and SimpleX describes large groups and communities as future uses of the Channels layer.

So if your current use case is shaped like Discord, I would still use Matrix. SimpleX is moving in that direction, but it is not there yet.

Why I am paying attention

For such a young project, SimpleX has built a decent track record. Trail of Bits carried out an implementation assessment of its cryptography and networking in 2022, then a broader protocol-design review in 2024. Neither found a critical issue, but they were not clean bills of health. The first assessment found two medium- and two low-severity issues; SimpleX fixed three in version 4.2. The second found three medium-, one low- and three informational findings; SimpleX says three were improved in version 6.1 and the remaining findings were accepted.

It has also run into the kind of legal pressure that tests the sales pitch. In September 2025, a Moscow court fined SimpleX 800,000 rubles for failing to meet legal obligations imposed on messaging providers. That notice does not say SimpleX refused a specific request for user data. Separately, its architecture limits what relay operators normally have to surrender: they do not host user accounts, profiles or contact lists, and the preset operators say they do not log user IP addresses. Relays can still temporarily hold undelivered encrypted messages and some encrypted public-address data, so “nothing at all” would be too strong.

The project has money behind it now too. Jack Dorsey and Asymmetric Capital Partners put $1.3 million into a pre-seed round in 2024, and Vitalik Buterin donated 128 ETH in 2025. That gives the team more room than most small privacy projects get. It is still venture funding, though, and investors eventually want something back. I would keep half an eye on that rather than pretending funding has no strings attached.

So, should you use it?

SimpleX makes sense if:

  • you want to avoid giving the service a phone number or permanent network-wide identifier;
  • most of your conversations are one-to-one or in small trusted groups;
  • you are willing to trade some polish and convenience for less metadata; and
  • you do not need mature public rooms or large interactive communities.

It is not the messenger I would hand to everyone who asks for a WhatsApp replacement. Signal is still easier for that. It is not where I would build a community either; Matrix is much better at that job.

But if the question is “which messenger avoids creating a global identity for me?”, SimpleX has the most interesting answer I have seen. It does not ask you to trust a company with that identity. It tries not to create it at all.

That is a strong anonymity property, not a guarantee that nobody can identify you. Your network connection, the way you share a link, information you reveal to contacts, malicious relays and traffic analysis can all matter. The rough edges and those remaining metadata risks keep me from calling the design perfect. Even so, it is one of the few messengers doing something genuinely new, and I think it is worth trying for an evening just to see how different that feels.

As always, if you want to talk about this stuff, you know where to find me.

~$