3 ms·
I'll attempt to give an answer to this, but only if other people promise to correct the mistakes I make, I am not a security expert and you should not trust my
by danShumway 5y ago
I'll attempt to give an answer to this, but only if other people promise to correct the mistakes I make, I am not a security expert and you should not trust my opinion without looking into things more.
Short version:
- If you absolutely need your messages to be private, use Signal.
- If you're looking for a more flexible/future-proof chat app that doesn't have some of Signal's downsides, use Element, but be cautious because it's had some issues in the past.
- Use the others if someone forces you to, I guess.
Longer version:
----
Signal has been around for a while and is highly vetted by the security industry, and most security professionals I see online swear by it. Signal does a lot of stuff very right and for the most part does an extremely good job of not leaking extra data.
Signal has several glaring downsides that do not affect its overall security, but that might be dealbreakers for some people:
- it requires a phone number to sign up
- very glaringly, it leaks to other contacts on your phone who are already using Signal that you've joined (they'll get a notification in Signal that you installed the app).
- it's extremely centralized, which Moxie (the creator) lists as an upside because it allows faster iteration and simplifies some problems like key sharing, but which many people see as a downside for a lot of reasons, including that it makes it harder to fix problems that Moxie isn't interested in prioritizing (such as requiring phone numbers or leaking that you've joined to contacts).
Signal is a narrow application trying to solve a narrow problem, secure text messages. It is highly secure for that use case, and difficult to use outside of that use-case. It also has some questionable choices about privacy in regards to user identity around signup, and questionable choices around things like alias accounts. But again, Signal isn't really trying to solve those problems.
----
Element/Matrix is trying to solve those problems.
In theory, Element/Matrix is a better choice than Signal; but theory isn't the same as practice. In practice, Element is trying to do something much harder than Signal is doing, (decentralized end-to-end encryption), and Element is a much newer app undergoing a lot more active development, which makes it harder to trust. Element has had issues in the past with leaking data and vulnerabilities. Unlike with Signal, it is possible to make unencrypted rooms in Element (Signal makes this a bit harder unless one of your contacts is using SMS text messaging). Signal tends to be really obsessive about not leaking any contextual information around things like stickers, basically no HTTP requests to anyone other than Signal's servers, and a lot of those HTTP requests get masked and obfuscated in really smart ways. Element sometimes messes up in this area.
Element is also just flat-out bigger than Signal in terms of what functionality it's trying to achieve, which makes it more complicated. All of that makes it harder to trust Element for really, really important communication at this time.
On the other hand, Element is decentralized and is working on some privacy tools including P2P communication that Signal is kind of ignoring because Moxie likes his server. Element might occasionally leak information in a bad request, but it doesn't require users to give their phone number to join. It is attempting to solve problems around private communication that Signal is not interested in solving and that likely will not be interested in solving for some time if ever. Certainly if you are looking for a chat app in the neighborhood of Discord, or you care about having multiple identities online, or if you care about self-hosting, Signal is not going to work for you, it cannot handle those use cases -- it's not designed to do so.
Element has the downside of being a bigger application, but it also has the upside of being a bigger application, meaning that it's a good way of unifying a lot of different chat needs into a single interface with pretty consistent security guarantees across all of them. And that turns out to be really good for adoption. There is a strong benefit to keeping apps small, but as Moxie himself would say, UX also matters with getting people to use encrypted apps -- and being able to seamlessly jump between public chat rooms and private end-to-end encrypted rooms is a big usability win.
----
My take: I use Element whenever possible for chats that I would like to be private but where it wouldn't be the end of the world if they leaked, and for default chats that I don't particularly care about. I am slowly looking to turn it into a Discord replacement for closed communities including family chats; this is something that frankly isn't possible on Signal.
However, for a nontrivial amount of one-on-one communication, and on any topic where I desperately needed privacy, I would rely on Signal. It's easier for people to use because it's a much simpler, smaller product, and frankly I trust Signal's reliability and security more than I trust Element's. It's also easier to onboard friends and family members who are texting with me over the phone and who already know my number onto Signal because it's a drop-in replacement for their SMS. I don't have to stop using Signal just because someone in my family is on SMS (although note that in that case Signal offers very little to any encryption benefits for those conversations at all).
My long-term hope is to move to Element for everything, and I think Element will likely get to the point where I can confidently do that. I don't think that Signal is the future of encryption, I just think it's the best tool on the market right now. I also don't think Element is necessarily insecure right now, I just don't know for certain that it is secure and I'm waiting to see its security validated more. At least, I'm not as confident about it as I am about Signal, and I find that Signal is a particularly good SMS replacement at this point in time.
My feeling is that between Element and Signal, most chat needs should be covered including stuff like video calls, screen-shares, etc... so outside of existing user pressure, I really don't see the need to even look at or evaluate the other ones beyond "they're like Element but less flexible/future-proof/decentralized" or "they're like Signal but less trustworthy."
I would also include stuff like email in that assessment. I use email because of network effects but I'm slowly moving away from it for everything else. Realistically if the network effects didn't exist there would be no reason to ever try to send secure information over email, and there's little to no need to try and build encryption on top of it (insert many links to why PGP encrypted emails are foot guns), because outside of network effects almost anything you can do with email you can also do with either Signal or Element. Signal has obviously better privacy and (frankly) Element has better decentralization given the current spam situation and the industry consolidation that email has seen over time.
So my advice is use Signal/Element and ignore the rest unless you have friends/family/industry pressures to use the others. Balance between Signal/Element based on what your specific priorities are and how much the limitations of each bother you.