Crosspost: https://feddit.de/post/8502102
Element for Android doesn’t support searching in encrypted channels and I think you can’t use E2EE in the browser at all(?), plus basically every other client has even more drawbacks when it comes to E2EE.
My team recently tried RocketChat, but E2EE is obviously an afterthought for that project as it has even more limitations than non-Element Matrix clients (no searching, no pinning, no file upload, no edit, etc.). Plus Jitsi integration seems to be buggy right now (at least on my Windows installation).
What else is out there that’s not on my radar? Is Matrix with Element really the best option right now? Is there no project that puts E2EE above all else?
Edit: Should be self-hostable and (FL)OSS.
Try Deltachat, maybe…
I really like DeltaChat. Highly recommend.
What issue did you have with the jitsi integration on rocket.chat?
First of all Jitsi isn’t part of the rocketchat-server package, so you need to set it up yourself or use a hoster, which both require separate accounts from the RocketChat ones.
The specific issue I had on Windows was that RocketChat wasn’t registered to handle jitsi-meet:// links, it would just open a blank “open with” Windows dialog everytime. In general the “integration” seems lacking, the whole UX is really bad compared to Matrix/Element where voice calls just work.
But where did those `` jitsi-meet://` links come from?
The calls generated inside rocket.chat are supposed to be handled by the rocket.chat app, everything else it doesn’t get involved with.
(I wrote this integration so I’m legitimately interested in how it could be better)
I’ve made some screenshots instead of a video. I hope you still get what the issue is.
At the end there is no usuable call from the RocketChat client. But I can copy the meet.jit.si URL and open it in a browser.
Originally I had an error message telling me that Windows doesn’t know what to do with jitsi-meet:// links, but that doesn’t show up anymore for some reason. Maybe because of me messing with the registry to solve the issue, but I’ve actually removed the registry key I had created before.
Ah I had that popup confused with one of our own; Now that I checked the text on google translate I figured out what’s happening.
The
meet.jit.si
domain is a public jitsi instance that is kept by jitsi themselves. They recently implemented this login requirement on that domain (one user in every meeting must authenticate); They probably assumed that those meetings would always be in a browser and our desktop app is not handling that authentication flow properly. I’ll register a task for someone from our app’s team to take a look.If you host your own jitsi instance, this login requirement won’t be there and you won’t have this specific issue (though I assume you probably won’t stay with Rocket.Chat anyway due to the E2EE requirement).
Thanks! I got it now. I’ll look into it this week.
I wrote this integration
Oh, nice! I can make a video later on how it looks on my machine. I even tried fiddling with the registry to force them to be opened with RocketChat, but that didn’t work either.
Element.
Uses Matrix
Things I will take a look at:
- https://jami.net/ (really isn’t there yet)
- https://spacebar.chat/ (only has a web client right now)
- https://keybase.io/ (not self-hostable and not tailored for organisational use)
- https://tryquiet.org/ (still missing some core features like direct messages)
- https://www.rocket.chat/ (E2EE not implemented to a satisfying extend)
Things I will not take a look at:
- https://mattermost.com/ (no E2EE AFAICT)
- https://zulip.com/ (no E2EE AFAICT)
- https://slack.com/ (no E2EE AFAICT)
- https://revolt.chat/ (no E2EE AFAICT)
- https://discord.com/ (lulwut)
Feel free to add more suggestions.
Keybase was popular with some Hacker News users for a while, but now that it’s owned by Zoom, anyone concerned about privacy ought to think twice before using it.
XMPP might be worth considering if you’re hosting for yourself and all your contacts. I suggest avoiding it for public use, mainly because features are piecemeal and coordinating them across everyone’s clients and servers is a bit complicated. (Also, I don’t know if there’s a good XEP for encrypted search.)
Yeah, it’s sad to see it in Zoom’s hands, but it is still open source and receiving updates.
Signal messenger
Not really what I am looking for. Neither is it self-hostable, nor do you have access to independent clients. Plus the requirement for phone numbers makes it undesirable.
Also, I’m not really looking for a simple messenger and more for something that is useful in organizing a team.What do you mean by “independent clients” - multi device login?
There’s Wire, but it still resembles Signal more than Slack. But apparently they’ve put some work into making it self-hostable.
https://docs.wire.com/versions/install-with-poetry/index.html
Matrix is still probably the closest thing to Slack, Discord etc that actually has functioning E2EE, but also includes cloud synchronization when people can remember their keys.
Wire
https://wire.com/en/app-download
Latest Linux release is from December 2022. That’s unacceptable.Looks a little newer to me
https://github.com/wireapp/wire-desktop/releases
But the project has definitely slowed day down since when they started it.
What do you mean by “independent clients” - multi device login?
Yeah. Right now you have to have Signal running and connected on a phone. If the phone is off or not connected to the internet, you can’t use the Desktop client.
Signal on the desktop does work even if the phone client is off, FWIW. This might have been true at one point, or at least for other apps, but it’s no longer the case.
ETA: you can even use the desktop app without a smart phone, although the setup not for the faint of heart… Just illustrative of how you shouldn’t need a smartphone (at least, not one that’s even turned on more than once a week) for Signal to work on the desktop.
For some reason, adding a desktop client didn’t work for me, so I am stuck with Signal-cli. Good thing I don’t have to use Signal that much. Anyway, I think not having an option to register right in the desktop client is absolutely unacceptable.
Are you saying you want encrypted text chat? Or do you want voice or video too?
I wouldn’t obsess too much about e2ee once there are that many client os’s and apps involved, if the server is self hosted. There will be plenty of other points of vulnerability regardless, including careless humans at the endpoints. It’s not really possible to achieve security by just choosing the right software. Real opsec is much more complicated.
Voice is a requirement as well.
Matrix, Signal, Session. If there was anything as mature an feature complete that you’re looking for, you’d probably already have heard of it
What about session? A buddy of mine started using session and so far so good maybe
I’ve used Session for quite a while. It is not something I would use in a professional environment where reliability is required.
Yeah its overkill.
Also important things in my opinion:
- spaces
- admin rights management, roles
- group invite links
- device management (logging out a lost phone etc.)
I think a slimmed down Element with a selfhosted matrix server and no federation is the best for companies
Correcting some misconceptions…
Element for Android doesn’t support searching in encrypted channels
That’s true of regular Element for Android, but it’s being replaced with Element X (which is built with Rust). I would expect search to be added there if it isn’t already.
and I think you can’t use E2EE in the browser at all(?)
I have done it in Firefox, so that’s false. Perhaps you had trouble with a specific browser?
plus basically every other client has even more drawbacks when it comes to E2EE.
Nheko handles E2EE just fine, so that would seem to be false as well.
Since you’re looking for recommendations, it would help if you said which clients you tried and what problems you had with them.
In case you haven’t seen it, you can set a Features: E2EE filter on this list:
https://matrix.org/ecosystem/clients/I would expect search to be added
That’s what I expected fo regular Element for Android as well, but it never came into existence.
Element X
I fail to find a feature comparison between the two. Does it have feature parity with Element yet? If not, what’s missing?
Firefox
Firefox is my main browser and has been for the last 15 years or so. It definitely was Firefox, but maybe I’m confusing it with a different issue. There definitely was some feature in Element Web that didn’t work and told me to use Desktop instead, unless I’m imagining things now.
Nheko
Interesting, I’ll take a look.
EDIT: Nheko is NOT a mobile client. I’ve misinterpreted your statement.That unfortunately doesn’t specify the extend of the E2EE support (like search), but I appreciate your effort.
Does it have feature parity with Element yet?
Not yet. It’s in beta.
https://element.io/labs/element-x
EDIT: Nheko is NOT a mobile client.
If you specifically meant mobile, you could have said so. Your statement was, “every other client has even more drawbacks when it comes to E2EE.” Nheko disproves that statement. It also suggests that some alternative mobile clients might handle E2EE at least as well as it does. You might want to try them.
By the way, text search with end-to-end encryption happens to be tricky to implement, and Matrix projects aren’t funded by corporations with deep pockets. Tempering your expectations regarding development speed is probably worthwhile here.
Element X works really well but Servers need to additionally run the sliding sync program. They still run normal synapse, but the sliding sync needs to be added. I could not find a list of Servers that have that installed.
There definitely was some feature in Element Web that didn’t work and told me to use Desktop instead, unless I’m imagining things now.
It’s search.
Even in Element, last time I checked, search was incredibly half-baked and mostly useless.
I know you don’t want to use Signal, but it actually has searches that function.
You cannot compare Signal to Element at all.
Like, at all.
Signal has no search for Groups, there are no public groups or channels. Signal has a monopole server that is supposed to be OpenSource but nobody can run their own one.
Strange reply.
- Read the post, the use case doesn’t require public groups.
- Read the messages above, I was talking specifically about search
- Does this mean that Telegram (the messaging app) is closer to Element (the Discord-like app) than Signal (the messaging app), because it has channels?
Etc
Yes, search on Signal is fundamentally less complex than on Element because there are no Groups or Servers to search.
You are talking about searching in local messages I guess, which is unrelated and should work everywhere.
Telegram, Signal and Element are 3 different products. Signal is very restricted but encrypted. Telegram is way less restricted, the desktop client is somewhat standalone but has no encryption which is bad. Element is way more complex and allows encrypted and unencrypted.
Does XMPP with OMEMO give you what you are looking for, or am I misunderstanding?
In regards to e2ee probably, but they seem to have very specific feature requirements for a team-chat, which current XMPP clients do not fulfil.
However I do wonder about the fixation on e2ee. In a self-hosted scenario with TLS encryption (and local users only) there is no real need for e2ee.
Removed by mod
The server is not hosted on premise and the team will exchange communication that requires to remain private. That’s why I really need E2EE for everything (and why RocketChat is not an option as E2EE is not fully implemented).
Why not move the server on premise? e2ee is a very imperfect protection against metadata leaks and running the servers on premise has loads of other advantages.
There isn’t really a premise per se as we are a decentralized team, but the details don’t really matter.
Its crazy how Tech Giants burst out chat apps like nothing.
Having a good client based on Conversations with some stuff added would cost nothing.
Not Conversations based, but you might want to keep an eye on: https://prose.org/ (fully open-source and XMPP standard compatible)
simplex chat maybe?
Simplex eats battery 🔋