Local Note Encryption - Week 9 & 10

Hey everyone, two weeks in one this time.

The big news first: the desktop lock UI is merged! Desktop: Resolves #15872: Add note lock UI by keshav0479 · Pull Request #15961 · laurent22/joplin · GitHub. Enable encryption from the right click menu, the padlock shows in the note list, and a locked note asks for its password instead of showing its content. The heart of this project, in the main app now. Huge thanks to mrjo, Henry and Laurent for all the review time on this one.

The mobile configuration section merged the day before too: Mobile: Resolves #15853: Add note lock configuration section by keshav0479 · Pull Request #15963 · laurent22/joplin · GitHub, so mobile can already set up the note lock password and auto lock.

With desktop in, the mobile lock UI moved to the main repo: Mobile: Resolves #16002: Add note lock UI by keshav0479 · Pull Request #16069 · laurent22/joplin · GitHub. Same feature on your phone, the unlock screen, the first time setup prompt, and a proper screen for notes that can no longer be decrypted. One review round already in.

Note history is in review as well: Desktop, Mobile: Resolves #16038: Add note history support for locked notes by keshav0479 · Pull Request #5 · keshav0479/joplin · GitHub. Locked notes keep their history as standalone encrypted revisions, the revision viewer gets the same unlock screen, and if you disable encryption the plain history simply starts fresh.

And the guardrails went up: Api, Cli, Desktop: Resolves #16054: Add fail-closed guardrails for locked notes by keshav0479 · Pull Request #16098 · laurent22/joplin · GitHub. Every path that reaches a note without going through the editor, the API, the CLI, plugins, now refuses locked note bodies instead of leaking them. Listings skip locked notes entirely, and Convert to Markdown works once you unlock the session.

Two flaky CI tests got a small fix of their own, also merged: Desktop: Fixes #16099: Skip the note lock session effect on the first render by keshav0479 · Pull Request #16100 · laurent22/joplin · GitHub.

One more bit of news, the project timeline is extended to early November. Exams take over mid August, so we get more time to spread things out and do everything properly.

Next is export. A backup should never lose your locked notes, so that path is getting built properly.

More next Friday! :blush:

More frequent updates are here: Local note encryption / Keshav

5 Likes