This needs auth either directly built in or as a separate backend service/package. This requires consideration if we're going to have the protocol support encryption without revealing conversation participants.