Change master keys


After realizing that master key passwords are stored as clear-text in the SQLite DB, I’d like to change the master keys on the mobile, CLI and desktop sources. Is this the right procedure:

For each source (sequentially):

  1. Disable encryption
  2. Sync
  3. Enable encryption
  4. Sync

Rinse and repeat for every source?

Thanks in advance!

BTW I did try to figure it out myself by carrying out the steps I mentioned above (based on this reply), however I haven’t been very successful. While it seems most notes have been decrypted, there are some that remain encrypted. Also, I have way too many master keys now (of course most of them are unused but I rather not see them there at all)

What’s the cleanest way to start over again? As I mentioned I have 3 clients: mobile, CLI and the Linux app. Should I:

  1. Remove cache/app data on the Android app
  2. Remove ~/.config/joplin for the CLI
  3. On UI, export to Joplin format then remove ~/.config/joplin-desktop, then start the GUI && import the notebook && set-up dropbox + E2EE
  4. Configure CLI and Android app

What do you think, @laurent?