Skip to content

feat: add clint-side end-to-end encryption for notes#166

Open
bhoomiiee wants to merge 3 commits intoHarshYadav152:mainfrom
bhoomiiee:feature/e2ee-notes
Open

feat: add clint-side end-to-end encryption for notes#166
bhoomiiee wants to merge 3 commits intoHarshYadav152:mainfrom
bhoomiiee:feature/e2ee-notes

Conversation

@bhoomiiee
Copy link
Contributor

Summary

Added client-side end-to-end encryption (E2EE) for notes.

What was done

  • Notes are encrypted on the client before being sent to the API
  • Notes are decrypted only on the client before rendering
  • Backend APIs remain unchanged
  • Graceful fallback when encryption key is missing

Notes

Local MongoDB connectivity is unavailable; this PR focuses strictly on client-side E2EE logic as scoped in the issue.

@vercel
Copy link

vercel bot commented Jan 21, 2026

@bhoomiiee is attempting to deploy a commit to the Harsh Yadav's projects Team on Vercel.

A member of the Team first needs to authorize it.

@bhoomiiee
Copy link
Contributor Author

Status Update

Client-side end-to-end encryption (E2EE) for notes has been implemented.

Completed:

  • Notes are encrypted on the client before being sent to the API
  • Notes are decrypted only on the client before rendering
  • No plaintext note data is exposed in transit or storage
  • Backend APIs remain unchanged, as intended by the issue scope

Not covered in this PR:

  • Database connectivity and auth flow testing (local MongoDB connection unavailable)
  • Server-side encryption (explicitly out of scope for this issue)

The changes focus strictly on the client-side E2EE logic as discussed.

@HarshYadav152
Copy link
Owner

HarshYadav152 commented Jan 23, 2026

@bhoomiiee First update feature/e2ee-notes branch with upstream main and resolve any merge conflict occur.
After that wait for review

Copy link
Owner

@HarshYadav152 HarshYadav152 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do these changes.

  1. Remove redeclaration of constntt variable wordCount in NoteItem.js
  2. Also fix jsx in it.
  3. handleSaveNote is declared multiple time in AddNote.js.
  4. Also in NoteState addNote is defined multiple times.
  5. And in getNotes function redeclaration of constant variable response

Havn't you verify changes you made before submittng..

@bhoomiiee
Copy link
Contributor Author

Fixed the requested issues:

  • Removed duplicate declarations in NoteItem.js
  • Fixed JSX issues
  • Removed duplicate handleSaveNote in AddNote.js
  • Ensured addNote and getNotes are defined once in NoteState.js
    Please review the latest commit.

@bhoomiiee
Copy link
Contributor Author

I have rebased the branch and resolved all conflicts locally.
The branch is clean and up to date with origin/feature/e2ee-notes.
This conflict message seems to be stale after the rebase + force push.
Kindly refresh the PR or re-check the comparison.

@HarshYadav152
Copy link
Owner

@bhoomiiee Your feature/e2ee-notes branch still behind and have conflict in savebook/components/notes/NoteItem.js

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants