This is pretty cool and one of the top comments on Hacker News describes it the best:
It’s easier to understand this if you look at the onion protocol. Broadly, it introduces noise between all users on the network by constantly sending and receiving random bytes to and from each node. This prevents external listeners from figuring out where the main server is. Originally designed to protect naval command ships, it was later used for the “dark web”. If you don’t know which node is the server, you can’t shut it down, or read data off of it. Simplex does something similar. A connects to B. B connects to C. And A and C connect. They all chat. but there is no way to know A, B, or C, because from the outside, it all looks like: X connects to Y, X connects to Y, X connects to Y. So who spoke to whom? This is great. Even if “the authorities” demand access to chat logs, first, they won’t know what to ask for. Chats between whom? Second, they still won’t know who spoke to whom even if they have all the data. It’s anonymized chats. They would have to sift through all of it. It still won’t prevent someone invading privacy if they have physical access to your device, since the identities are stored locally for your usage convenience.
Hacker News discussion: https://news.ycombinator.com/item?id=37105477