@Erica @Shida As I see it, this could be implemented fairly easily by just encrypting each item with a client side key before sending it to the server and decrypting each async http response with items locally in the client.
When opening a new Dynalist tab, you would have to insert your keyphrase so that it is locally stored in memory of the client.
The same procedure applies to the API, all requests send encrypted data and receive encrypted data.
For shared documents, the key would have to be communicated between participants over a different channel (like person to person, encrypted email, etc).
Which commonly used encryption scheme to use would still have to be discussed.
All of this should be easy to implement, compatible with all current Dynalist features, and much easier than an offline mode or similar ideas. Furthermore, a huge selling point compared to competitors.