— Software Development
Keystone
A local-first, fully offline desktop vault for the small secrets developers scatter across text files - API keys, snippets, commands, notes. Per-record ChaCha20-Poly1305 encryption with Argon2id key derivation; the master password never leaves the machine, and on Windows, Win+V clipboard-history exclusion keeps copied secrets contained.
Rust Tauri ChaCha20-Poly1305 Argon2id SQLite React TypeScript Tailwind CSS
~ logo
~ when Apr 2026 → Ongoing
~ status Active
~ kind Personal Project
Keystone is a local-first desktop vault for the small secrets developers scatter across loose text files - API keys, snippets, commands, and reference notes. Built for people who outgrew scattered files but don't want a shared cloud vault for personal stuff.
Security
- Per-record encryption - every item's title, value, notes, and tags are sealed together as one encrypted record with ChaCha20-Poly1305; only metadata stays plaintext - timestamps, favorite/sensitive flags, item kind, collection assignment, and usage counts
- Argon2id key derivation - the master password is never stored and never leaves the machine; keys are zeroized from memory on lock
- Sleep-aware auto-lock - configurable inactivity timeout that also locks if the timeout elapsed while the machine slept
Privacy
- Fully offline - no telemetry, no auto-update server, zero network dependencies in the Rust crate; the Tauri capability file enumerates every native API the app may touch
- Win+V exclusion (Windows) - on Windows, copied secrets are tagged so they never enter Win+V clipboard history (macOS/Linux use the standard clipboard); auto-clear wipes anything marked sensitive after a configurable delay, while leaving non-sensitive items (snippets, commands) available to paste
Built with
- Frontend: React 19 + TypeScript, Tailwind CSS v4, Radix UI primitives
- Desktop: Tauri v2 (Rust)
- Storage: SQLite via rusqlite (bundled)
- Crypto: Argon2id KDF + ChaCha20-Poly1305 AEAD, with zeroize for in-memory key wiping
About this chart
Each axis is a functional pillar; the orange area shows where my effort went on this build - the further an axis reaches, the more of the work concentrated there.