An app you can trust your secrets with.
This app uses AES-128 GCM to prevent anyone but you from accessing your notes.
- Generates a 16-bytes (128-bits) AES key
- Derives a master key from your password
- Encrypts AES key using master key
- Hashes your password
- Saves hashed password to database
- Saves encrypted AES key to database
- Derives a master key from your password
- Saves master key into your browser's session
- Gets your master key from your session
- Uses your master key to decrypt your AES key
- Uses your decrypted AES key to encrypt your data
- Gets your master key from your session
- Uses your master key to decrypt your AES key
- Uses your decrypted AES key to decrypt your data
Your master key is only derivable from your plain-text password
Your plain-text is only available when you are logging in
Your master key is never saved into a database
Your decrypted AES key is never saved
If you lost your password, then your notes will be lost as well
$> pipenv --python 3.9
$> pipenv install
$> python notebook.py
http://localhost:5000