A metadata-protecting distributed group chat application
// readme
Bounce is a distributed group chat application that protects metadata, with a familiar look and feel.
Design Overview
Each instance of Bounce includes a Tor hidden service, and all connections between devices occur over Tor. Users can own multiple devices, including encrypted devices that do not have access to the message contents. Users add contacts by scanning a code on the other person’s device, or by meeting them in a group, there is no global namespace of all users. Messages are scoped to their user or group, and gossiped between devices that are in scope and online. Devices coming online have an efficient way to catch up. Group states (name, admin status, etc) can survive a bad actor attempting to mess with history, so long as the majority of users are honest. For more details, see the goals and design document.
Status
I am actively working through a comprehensive vulnerability assessment. During this time the protocol, including the format of user profiles, may undergo breaking changes. Once this process is done the protocol…