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

Encrypt messages with team key #2631

Open
adrastaea opened this issue Oct 8, 2024 · 1 comment · May be fixed by #2733
Open

Encrypt messages with team key #2631

adrastaea opened this issue Oct 8, 2024 · 1 comment · May be fixed by #2733
Assignees
Labels
4.X v4.X e2ee end-to-end encryption lfa Features related to local-first-web/auth implementation

Comments

@adrastaea
Copy link
Collaborator

adrastaea commented Oct 8, 2024

Description

As a first step before having tiered message encryption, we should encrypt every message with the team key. In storage.service:sendMessage, encrypt the message before adding it to the channel db.

Acceptance Criteria

  1. Encryption mechanism / libraries pass review by e.g. Alishah or some other expert
  2. Message model includes key name and generation
  3. Messages get encrypted before being added to channel db
  4. (maybe) Differentiate public and private channels, keep the publicChannelsRepo infrastructure as a way to send unencrypted messages, and add a privateChannelsRepo which gets encryption Just use the team key
  5. (maybe, up to implementer) Pull channels functions out of StorageService, create a Channels module, and move all the message sending, receiving, encrypting, and decrypting logic there

The key question on 4 is: can we do this in a very quick and minimal way that is also clean and likely to not introduce bugs? If so, we should do that. If not, we should do as much as necessary to make sure it's going to be clean and bug free.

@adrastaea adrastaea added e2ee end-to-end encryption lfa Features related to local-first-web/auth implementation labels Oct 8, 2024
@adrastaea adrastaea moved this to Backlog - Desktop & Backend in Quiet Oct 8, 2024
@adrastaea adrastaea added this to Quiet Oct 8, 2024
@holmesworcester holmesworcester moved this from Backlog - Desktop & Backend to "Next next" sprint in Quiet Dec 3, 2024
@holmesworcester
Copy link
Contributor

Note: have a look at how background notifications are working on Android before tackling this.

@islathehut islathehut added the 5.X v5.X label Dec 3, 2024
@islathehut islathehut moved this from Encryption sprint to In progress in Quiet Jan 24, 2025
@islathehut islathehut self-assigned this Jan 24, 2025
@islathehut islathehut moved this from In progress to Waiting for review in Quiet Jan 31, 2025
@islathehut islathehut added 4.X v4.X and removed 5.X v5.X labels Feb 5, 2025
@islathehut islathehut moved this from Waiting for review to In progress in Quiet Feb 5, 2025
@islathehut islathehut linked a pull request Feb 6, 2025 that will close this issue
4 tasks
@islathehut islathehut linked a pull request Feb 6, 2025 that will close this issue
4 tasks
@islathehut islathehut moved this from In progress to Waiting for review in Quiet Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4.X v4.X e2ee end-to-end encryption lfa Features related to local-first-web/auth implementation
Projects
Status: Waiting for review
Development

Successfully merging a pull request may close this issue.

3 participants