Skip to content

Conversation

@Hocuri
Copy link
Collaborator

@Hocuri Hocuri commented Jan 20, 2026

Close #7396

TODO:

  • Implement the new protocol
  • Make Rust tests pass
  • Make Python tests pass
  • Test it manually on a phone
  • Print the sent messages, and check that they look how they should: test_secure_join_group_with_mime_printed.txt
  • Fix bug: If Alice has a second device, then Bob's chat won't be shown yet on that second device. Also, Bob's contact isn't shown in her contact list. As soon as either party writes something into the chat, the that shows up and everything is fine. All of this is still a way better UX than in WhatsApp, where Bob always has to write first 😂 Still, I should fix that.
  • Benchmarking
  • TODOs in the code, maybe change naming of the new functions
  • Write test for interop with older DC (esp. that the original securejoin runs if you remove the &v=3 param)
  • Documentation
  • From a cryptography perspective, is it fine that vc-request is encrypted with AUTH, rather than a separate secret (like INVITE)?
  • Make sure that QR codes without INVITE work, so that we can remove it eventually
  • Update tests and other code to use the new names (e.g. request-pubkey rather than request and pubkey rather than auth-required - Could be done in a follow-up

Backwards compatibility:
Everything works seamlessly in my tests. If both devices are updated, then the new protocol is used; otherwise, the old protocol is used. If there is a not-yet-updated second device, it will correctly observe the protocol, and mark the chat partner as verified.

@Hocuri Hocuri changed the title [WIP] Securejoin v3: Encrypt all securejoin messages [WIP] feat: Securejoin v3, encrypt all securejoin messages Jan 20, 2026
@Hocuri Hocuri force-pushed the hoc/securejoin-v3 branch 2 times, most recently from 59957ed to ef97a7e Compare January 21, 2026 15:44
@Hocuri Hocuri force-pushed the hoc/securejoin-v3 branch from 807b8c4 to afb7e2a Compare January 22, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Securejoin v3: 4-step protocol with symmetric encryption

2 participants