Skip to content
Gordon Chiang edited this page Dec 4, 2021 · 31 revisions

See the below implementation notes for detailed technical specifications and explanations for how each requirement is implemented.

Requirements Implementation Notes
SM must support 1:1 messaging and may support group chats (that’s optional) Application Networking
Text messages as well as pictures should be supported Application Networking
Message history is kept in encrypted form (at-rest encryption) Message History
Message history (for a particular conversation) can be deleted by a user Message History
Message transport uses end-to-end encryption with perfect forward secrecy Message Encryption
Users are authenticated (i.e.,they should be guaranteed to talk to the right person) Application Networking
Message integrity must be assured Message Encryption
Users can plausibly deny having sent a message Message Encryption
Users can sign up for an account and also delete their account Account Management
SM must be implemented in Python See README.md
Clone this wiki locally