@evan my app has the client encrypt messages in layers to hide non-adjacent nodes from each other, kinda like Tor but at a higher protocol layer, and with multiple recipients. Replies and reactions to a post have to be routed through the OP's device, which then distributes them to the OP's friends. In this way, the social graph is hidden from servers.