LockNote is a secure local note manager written in Rust.
It uses Argon2 password hashing and AES-GCM encryption to safely store your private notes, only you can read them.
- π§ Password-based encryption using Argon2 + AES-GCM
- π AES-256 encryption for every note
- π Create, list, view, and delete encrypted notes
- π Full-text search across notes (decrypted in-memory only)
- β‘ Asynchronous file operations via Tokio
- πΎ Stored in a simple JSON lockfile and locally in your home directory (
~/.locknote.json
)
git clone https://github.com/dicethedev/LockNote.git
cd LockNote
cargo build --release
locknote init
Creates a new encrypted lockfile (locknote.json).
locknote add
Youβll be prompted for a title and content.
locknote list
Shows IDs and titles of all notes.
locknote view <id>
Decrypts and prints a specific note.
locknote delete <id>
Removes a note from your lockfile
locknote search <keyword>
Finds all notes containing the keyword in decrypted text.
- Each lockfile is encrypted using
AES-GCM
with a key derived from your password viaArgon2
. - Notes are decrypted only in memory during viewing/searching.
JSON
structure makes backups and portability simple.
cargo test
You can write CLI tests in tests/cli_tests.rs using assert_cmd.
locknote init
locknote add
locknote list
locknote view 123e4567-e89b-12d3-a456-426614174000
locknote delete 123e4567-e89b-12d3-a456-426614174000
locknote search password
or
locknote init # Initialize a secure note store
locknote add "My note" # Add a note
locknote list # List all notes
locknote view 1 # View a note
locknote delete 1 # Delete a note
You can copy the built binary anywhere and use it standalone
cp target/release/locknote/usr/local/bin
- Password-based encryption for each session
- Configurable note directories
- Cross-platform desktop version
Author
Built with π¦ by Blessing Samuel