content: I've done a bit more research, and it seems that Tutanota does 100% of the encryption locally, so for example:  Open app / website Enter password 'hunter2' This is hashed to retrieve your encrypted data from the server (so the server only sees something like "asdf978asdf976asdf78") Back on your local machine now, your data is a load of nonsense but you've got it stored locally in memory The app uses your password as above 'hunter2' with a decryption algorithm to convert your data back to readable text You can read and write emails  So because of this, you can build the service, then verify that the local or client side actions match the known good version from the source code. You can't guarantee that the server-side code matches the source code, however, that shouldn't matter because you can verify that your local client-side DOES match the source code, and therefore you KNOW that your client isn't sending 'hunter2' to the server at any point. Here's the quote from the tutanota account on reddit:  The encryption of Tutanota happens locally on the client within your browser or app. The code for this is on github for tech experts to check it or to run their version of Tutanota locally: https://github.com/tutao/tutanota