Mimiri Notes

Security details

Secure by design

Security has been the primary driving factor for the design of Mimiri Notes from the beginning.
And below is a series of highlights describing the security employed by Mimiri Notes as concisely as possible.
If you are interested in a more in–depth exploration of the security design of Mimiri Notes one of our founders has written a lengthy blog post on the topic on his personal blog

Encryption

  • All data is encrypted before it leaves your device
  • All data is encrypted before it is written to persistent storage on your device
  • The encryption algorithm used is AES-GCM-256
  • IVs are randomly generated and never reused (also sometimes referred to as a nonce)
  • All random data used is cryptographically strong random data
  • Your primary AES key is derived directly from your password using PBKDF2-SHA5121
  • All communication between client and server is performed over HTTPS
  • Authentication

  • Your password never leaves your device
  • On account creation a secret is derived from your password using PBKDF2-SHA5121 and shared with the server
  • On account creation a public key (4096 bit RSA) is shared with the server
  • Log in is performed using a challenge-response model, where the user proves knowledge of the password without sharing the password with the server. (see more)
  • All subsequent requests to the server are signed and verified using the public key previously shared with the server
  • The server does not maintain a session and only processes correctly signed requests
  • All requests are tagged with a timestamp and an ID to prevent replay attacks
  • Local security

  • The application is default invisible to screen sharing tools to prevent accidental sharing
  • Passwords in text notes can be obfuscated to prevent exposure when visible on your monitor
  • When the application is minimized/suspended for more than one minute light weight authentication is required to restore access (see more)
  • Open source

  • Mimiri Notes is fully open source and released under GPL v2.0 (both client and server)
  • We see no way that real security can exist if the inner workings of the product are obscured
  • Open source forces us to remain true to the mission
  • Open source makes it impossible to hide backdoors in the code
  • Open source allows the community to discover vulnerabilities and for those vulnerabilities to be addressed earlier than any closed source product ever could
  • You are free and able to self-host Mimiri Notes if you do not trust us to keep your data safe
  • You are free and able to build Mimiri Notes from source if you do not trust us to build your binaries
  • You are free and able to fork Mimiri Notes should you find that we are not delivering on our promises
  • 1 All uses of PBKDF2-SHA512 uses 300'000 iterations and is uniquely salted for each user and for each purpose