

Yeah, the weakness of SSL is basically the same as the weakness of DNS: that someone can remotely impersonate you or revoke your identity. But there is a major difference: DNS is designed so that your identity is taken away as part of the system: you can not ever declare your identity yourself, you have to rent it from an external entity controlled by corporate, government or both. Whereas in SSL if your identity is taken away for the most part it’s purely your fault (only you should be having your private keys).



XMPP is the best among the listed options, although ??? is not that far behind (or wouldn’t be, I still can’t find a mobile app, does anyone know one???). Good servers include Snikket, ejabberd and Prosody. It’s also the best fit for a small and/or private installation because it’s quite light (not lightweight like IRC, but still light), whereas Matrix is a nu-protocol and this quite hefty on resources, and honestly I have never seen benchmarks on what running a ??? service is like, not even for the official Docker container.