GSoC 2026 : Local Note Encryption (Draft proposal and POC)

Some additional points:

  • While I did initially like the idea of hiding the contents of a locked notebook until unlocked, I think this is going to be misleading if you don’t encrypt child note and nested notebook names as well, as it gives the impression everything inside is encrypted. Doing so would add a load of additional complexity and scope, including adding the need to filter items shown in the notebook list, filtering notebooks eligible as a target to move to, excluding / clearing encrypted notebooks stored in the activeFolder setting when the notebook is locked etc. Due to this I think that locking a notebook should lock all nested notes and notebooks recursively, but they should all still be visible (but with the padlock icon visible on all child notebooks as well) and no password prompt is presented when opening the notebook, but just when opening notes within it

  • If a notebook is locked, there should be restrictions to prevent the user from removing the lock from any of the child notes / notebooks, as this would break the concept of the locked notebook being an encrypted area. Additionally or alternatively to restricting removing lock on notes within a locked notebook, would it make sense to have a visual indicator (padlock) shown on notes in the note list, and not just on notebooks? If not enforcing a restriction, you could have an additional icon state for some but note all notes in the notebook are encrypted. Adding onto the previous point, this could make it more like a bulk encrypt notes feature rather than notebook encryption, which is not the same but still comparable in usefulness and simpler to implement. But in that case it would be lower impact to just ditch notebook level padlock icons and have the icon on notes only, and just have additional notebook level options of “lock all notes in this notebook” and “unlock all notes in this notebook” which which lock or unlock all child notes recursively

  • The proposal does not give details about how it would be handled if notes / notebooks are moved in or out of a locked notebook. Especially on mobile, you can change the notebook using a dropdown at the top of the edit note screen, which would require swapping the note contents between the body and the cipher text fields on the fly. There probably should be some kind of warning when moving between locked / not locked notebooks. Additionally, when you create a note it will create it in a notebook based on the activeFolderId setting (usually the last opened notebook), so you would need to initialise the note in encrypted mode if the initial notebook is an encrypted one. Note creation and moving would need to be considered for all of desktop, mobile, cli and api

EDIT: I’ve mainly been talking through my thought process in this post, but looking at it I think a true encrypted notebook feature is going to be too big for the scope of this project. Instead, implementing a recursive encrypt / decrypt all notes in notebook feature, and having note level visual indicators instead of notebook level visual indicators I think would be more suitable within the scope of the project. It then also makes the concern in my last point redundant, if there is no concept of an encrypted notebook to create notes or move notes between