Some people already know, but now I’m officially announcing that for the next months I’ll be working full-time on Fractal thanks to a grant from NLnet. My main objective is to integrate end-to-end encryption into the GNOME Matrix client. Since user experience is crucial for getting E2EE right I’ll be working closely with Tobias Bernard from the design team throughout this project.
To give a rough roadmap, these are the main things I’m planning on working towards in the coming months:
- Fully use and integrate matrix-rust-sdk
- Device (Session) Management
- List of active sessions
- Logout (delete) from active sessions
- View Session ID, Public Name, Last Seen
- Conversation Encryption and Decryption: Allow sending and receiving messages. People need to be informed whether a conversation is encrypted or not, and have the possibility to enable encryption (disabling isn’t allowed by design).
- User Verification: People can verify the identity of other Matrix users to set the trust level via emoji verification and QR code scanning.
- Session Verification: People can verify their own sessions (cross singing) or choose not to trust cross signed sessions and manually sign other users’ individual sessions.
- Key Backups (Secure Backup and Export Keys): Bundle all encryption keys and store them encrypted for backup.
- Encrypted Room Search: Needs configuration options, and a local cache of encrypted messages for search.
I still need to figure out what the best approach regarding the planned GTK4 port (and other ongoing structural changes) is going to be, but I’ll be working with the rest of the Fractal team to find a solution, and hopefully get E2EE support into Fractal as soon as possible.