GSoC 2026 Proposal Draft - Idea 7: Local Note Encryption - keshav0479

one thing to confirm: on gated load, plaintext is placed on the in-memory model for editor/viewer use, while for locally encrypted notes the persisted DB body remains JOPLIN_CIPHER:... . is that the intended behavior?

Yes, on load the body value is decrypted on to the same field if useLocalEncryption = true, and when not gated the encrypted cipher (including the prefix) will be set to the body in the model. And the same for save, but the other way round. Therefore in the db, the cipher is stored with the prefix still intact