Skip to content

Note Encryption

You can encrypt notes on a per-repository basis. To enable encryption for a specific repository:

Go to: Repositories → Long press on a repository → Encryption

Encryption Methods

1. End-to-End Encryption

  • All newly created notes in this repository will be encrypted.
  • Your password is securely stored in the Android Keystore.
  • The salt and other decryption details are embedded within each encrypted note file.
  • You can share encrypted notes with others (e.g., via email); the recipient only needs the password to decrypt them.

2. Password-Based Encryption

  • Notes are encrypted using a user-defined password.
  • If you uninstall Zettel Notes (which clears the SALT) or forget the password, the notes cannot be decrypted.
  • Decryption is possible between Android devices if the same salt is used.
  • To do this, copy the salt from SettingsEncryption Salt
  • If two devices have the same salt and the user knows the password, encrypted notes can be shared and decrypted across devices.
  • Only an asymmetric password hash (using Argon2) is stored locally. This hash is used to verify the password during decryption.
  • The user password is never stored in Zettel Notes.
  • If the password is reasonably strong, it is not possible to recover it from the stored hash.

3. OpenPGP Encryption

  • Notes are encrypted using a PGP key provided by an external OpenPGP application.
  • This is enabled through integration with OpenKeychain: Easy PGP.

4. PGP Key Encryption

  • An in-app PGP key is used for encryption.
  • You can generate the key via SettingsKeys Manager
  • Note encryption and decryption are seamless, similar to End-to-End Encryption.