Hey everyone, week 4 update.
The note lock backend PR merged this week: All: Resolves #15597: Add note lock backend path by keshav0479 · Pull Request #15673 · laurent22/joplin · GitHub
That gives the project the basic path for keeping a separate note lock key, saving locked note bodies as ciphertext and decrypting them only after the unlock flow.
After that I moved on to attachments.
Joplin normally finds a note's attachments by scanning the Markdown links in its body. That stops working once the body is encrypted. If those links disappear from the resource index, an attachment used only by that note could eventually look unused.
The new PR rebuilds those associations from the resource IDs saved before the note is locked: Mobile, Desktop, Cli: Resolves #15714: Index locked note resources by keshav0479 · Pull Request #15717 · laurent22/joplin · GitHub
I tested normal notes, locked notes, invalid IDs, clearing old associations, and the same flow after syncing to a second profile. The second profile could rebuild the attachment association without reading the locked body.
Next I’m moving to search indexing, making sure locked notes are left out of the search index and that old readable search data is removed when a note becomes locked.
More next Friday ![]()
More frequent updates are here: Local note encryption / Keshav