brightjob4495 Finally some sense, there is imo nothing better than XMPP.
Why XMPP?
Server entity and app entity are 2 different things, reducing any kind of supply-chain attacks since the signing keys of the server are not the signing keys of the application.
XMPP server (prosody) can be hosted as a hidden service on the Tor network, making it impossible for someone to locate the physical server. Perfect for anonymity use-case. In this use-case XMPP becomes onion routed and you cannot leak your IP address.
XMPP doesnt need any identifying information from the client, you simply need to make a username@servername,something and create a password. That's it! No phone number, no email, no nothing!
XMPP is very lightweight and doesnt need a lot of resources to host the server on unlike matrix, a simpel VPS or raspbery pie is enough to host the server on for thousands of users.
XMPP has the ability for END 2 END encrypted chats and file sharing thanks to OMEMO, which is a Signal fork and audited. XMPP supports OMEMO for private chats and also for private group chats!
XMPP has also the option for federation by enabling server2server connections, though for those who want privacy they can disable that of course.