Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for is_sender verification for push notifications via HMAC #422

Open
1 of 5 tasks
neekolas opened this issue Jan 17, 2024 · 3 comments
Open
1 of 5 tasks

Support for is_sender verification for push notifications via HMAC #422

neekolas opened this issue Jan 17, 2024 · 3 comments
Assignees
Labels

Comments

@neekolas
Copy link
Contributor

neekolas commented Jan 17, 2024

Emulate the HMAC support currently for V2 Conversations for Groups.

Tasks

Preview Give feedback
@nplasterer
Copy link
Contributor

We had a great conversation today about how this could be implemented and decided with a solution to derive a key from the user using private preferences. This will all take place in the SDK level and shouldn't include libxmtp changes.

The main take away is that this will not be a breaking change and this can be moved to a nice to have for group chat.

Tasks

  • rotate hmac keys on revocation of a installation
  • on add installation check to see if a hmac key exists and if not create one otherwise use the existing key
  • add a new private preference type to the protos
  • Derive the key from 30 days since epoch.
    • Currently a topic to hmac key map — keep this but all V3 keys will be the same
    • No hmac key per group. No real benefit.

@richardhuaaa
Copy link
Contributor

richardhuaaa commented May 13, 2024

More info about private preferences in V2, used to store consent state (whether a given conversation should be hidden or shown, e.g. if it is spam that we don't want): https://community.xmtp.org/t/xip-42-universal-allow-and-block-preferences/544

Private preferences are simply a way of synchronizing state for a user, regardless of how many apps/installations they log onto.

Protos: https://github.com/xmtp/proto/blob/680f80288dd62824018342342ecb40b0fae49f8d/proto/message_contents/private_preferences.proto#L16

@nplasterer
Copy link
Contributor

We need to make sure the message history server backing this syncs automatically in instances where other installations are online.

@nplasterer nplasterer moved this to Todo in V3 Backlog Sep 19, 2024
@codabrink codabrink self-assigned this Nov 19, 2024
@codabrink codabrink moved this from Todo to In Progress in V3 Backlog Nov 21, 2024
@codabrink codabrink moved this from Todo to In Progress in MLS Work Nov 21, 2024
@codabrink codabrink mentioned this issue Dec 17, 2024
6 tasks
@codabrink codabrink assigned codabrink and unassigned codabrink Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In Progress
Status: In Progress
Development

No branches or pull requests

5 participants