I make Peersuite, an opensource free communication platform.
It's private by default, there's no sign-in or email collection.
It's peer-to-peer, there's no server, after discovery you are connected directly to your friends my AES-GCN encrypted WebRTC channels. It forms a mesh and identifies superpeers. Because there is no server, in order to save your data between sessions, you can download your workspace into a password encrypted file.
Happy to answer any questions.
FEATURES:
chat with images, PMs, channels, and file send
group audio/video calling
screensharing
kanban board
whiteboard for diagrams/flowchartswith PNG export
collaborative document editing with formatted PDF export
The best way for self hosting is docker, its on dockerhub as openconstruct/peersuite. You can also download desktop versions from the github or use on the web at https://peersuite.space/
@jerrimu A usability suggestion, having just tried it out - save the username and room password in the export file to make it more like a traditional chat experience. So when you import the chat file, the username and password are pre-populated along with the room name.
@martinb@jerrimu I wrote the initial comment with the idea of saving just the username, but then figured "why not?" for the password. If the password is saved in browser memory (and based how I *think* the app functions, it would have to be), then it wouldn't be much different than saving a password in firefox's password manager (for example). Assuming reasonable crypto usage by the app, of course.