Mikescher / AlephNote

Lightweight note taking client for Simplenote or Standard Notes (or simply local storage)
https://mikescher.github.io/AlephNote/
MIT License
196 stars 20 forks source link

[Feature Request] Master password functionality #126

Open vatterspun opened 5 years ago

vatterspun commented 5 years ago

In short, all files encrypted locally with the use of a master password, with current functionality until closed. Upon re-launch, the user would be prompted again.

Use case

As someone who has a lot of private information, I'd like an extra layer of security in case my laptop were lost or stolen. This is sort of the opposite of #7, which was asking for locally visible text files.

Workaround

Run AlephNote inside of a VeraCrypt volume and then close and dismount when not in use.

Other notes

github911x commented 5 years ago

Well it's been a while this has been requested and sadly such vital feature is not implemented, can't believe it..!! Please do it~!

ghost commented 1 year ago

We can have a public key as "username" and a private key as "user password". This process is the same as nostr and is interesting if you want to save the login on an external device for AlephNote login. But there are login ways or login alternatives like open-id, touch-id or oauth2 which are also interesting

Mikescher commented 1 year ago

There are definitely two parts in this whole thing, first encrypting the notes locally and encrypting them on the remote/server site.

I think you don't even need to get that complex, simply AES encrypt all note content with the user password before syncing and decrypt them when receiving them from the server (perhaps add a defined header text to identify encrypted notes and version the used encryption algorithm/settings).

The same is the true for the local storage, here we already have a structured data format and can simply encrypt them and set an encryption_version="1" attribute or something similar.
With local encryption the user would then probably need to insert his pw on program startup (?), we can't really use the stored remote password, otherwise the encrypted notes lay directly beside their encryption key :D

Due to the whole StandardNotes API debacle I'm not as actively developing here as I did previously, but if you want to create a PR I would be happy to look over it and eventually merge it.
I guess I would recommend to do this in two parts/PR's, because the local-encryption and the encrypted-on-remote part are pretty different and someone can perhaps only want one of them enabled.