
Overview
Cross-platform desktop app (Windows, macOS, Linux) for private markdown note-taking. Every note lives encrypted inside a single vault file (vault.nvx) that never leaves your disk — no account, no server, no telemetry, and the entire codebase is auditable.
Key features
- Notes — markdown notes with autosave, pinning, full-text search, and a trash with restore or permanent delete.
- Tags — color-coded tags assignable from the editor or command palette, with filtering and per-tag counts.
- Markdown editor — CodeMirror 6 editor with syntax highlighting, a formatting toolbar, live inline preview, and a dedicated GFM reading view.
- Command palette & shortcuts —
Ctrl+Kcommand palette plus keyboard shortcuts for creating notes, locking the vault, and switching views. - Multi-vault — create, open and switch between multiple vaults, with backup export at any time.
- Auto-update — built-in update checks and in-app installs via
electron-updater.
Security & privacy
- SQLCipher encrypts the whole SQLite database (AES-256, page-level).
- Field-level encryption — note titles and content are additionally encrypted with XChaCha20-Poly1305 on top of SQLCipher.
- Argon2id key derivation, auto-calibrated per machine (~1.5s), with an optional key file as a second unlock factor.
- 24-word BIP39 recovery key, regenerated on every password or key-file change.
- The master key is never written to disk — kept memory-pinned and wiped on lock.
- Configurable auto-lock, forced lock on sleep/lock-screen/focus-loss, screen-capture protection, and progressive delay after failed unlock attempts.
Tech stack
Electron + React 18 + TypeScript, split into isolated main/preload/renderer processes (only the main process touches cryptography and SQL). Styled with Tailwind CSS 4 and shadcn/ui, state managed with Zustand, bundled with electron-vite, and tested with Vitest.