HN2new | past | comments | ask | show | jobs | submitlogin

There is no easy way to implement client side encryption. You will have a private key or long password the you will keep safe. You lose that all your data in gone. Plus it's difficult to securely move that password to a new platform


Your data being inaccessible without a private key or password is the entire point.


People rightfully get skittish when there's no "forgot password" mechanism to get their account and data back.

I certainly agree that that's the point, but such a system needs some potential usability affordances. For instance, a key stored in the browser rather than a password the user has to remember, and ideally a key synced between multiple devices controlled by the user so that the loss or failure of one device does not mean loss of the account.

For example, imagine having the browser generate an asymmetric key for the user, and making sure browsers store such keys (encrypted) in Firefox Sync or equivalent, so that the keys are safe even if the user moves to a new device or an existing device fails or gets lost.


I wrote some ideas on how to implement a password reset for end-to-end encrypted apps, reviews and comments are welcome:

https://francoisbest.com/posts/2020/password-reset-for-e2ee-...


Keeping an unencrypted local mirror on your own device(s) would solve that problem, as well as potentially the "my data is stuck on their servers" problem. On devices with space for it, I mean, so maybe laptop but not phone by default.


How do you even sync the key between multiple devices? If you send the private key to the server that undoes any protection from the encryption


You derive a master key from a password, and use that to encrypt other keys, or a more complex key chain if needed. You then only sync encrypted keys with the server.


Firefox Sync has a model that doesn't trust the server.


Exactly. I cannot understand how this can’t be the user’s choice.


Search is a problem. Index is available to a saas provider.


1Password figured it out, and even wrote a paper about it. So it's a solvable problem. They even figured out a good model for helping recover lost passwords when my family members forget it.

https://1password.com/files/1Password-White-Paper.pdf

Don't work for Agile Bits, but have used 1P for a long time and couldn't live without it.


Much more critical (imo) software such as Backblaze offers full encryption, it’s the user choice and responsibility. That’s what privacy is also about.


We can't compare how storage service implements E2E encryption for multi-functional note service.


Maybe it's not easy to have client side encryption, but it seems CryptPad has it:

https://cryptpad.fr

https://github.com/xwiki-labs/cryptpad


The idea is not to move the password, or any derived key, but the clear-text data. GDPR and other laws enforce that you give customers the right to access their data (in clear text), if possible in an interoperable form. Notion does so in CSV and Markdown, which is good enough to transfer to another service.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: