fjrevoredo/mini-diarium
Mini Diarium is an encrypted, local-first desktop journaling app for Windows, macOS, and Linux. It stores entries in a local SQLite database with AES-256-GCM encryption at rest, supports rich text, multiple journals, import/export, automatic backups, and never sends your data over the network.
What's novel
the combination of strong privacy constraints with a modern desktop UX: no cloud, no telemetry, no hidden sync, but still a polished cross-platform app with rich editing, multi-journal support, plugins, and structured import/export. Architecturally, it uses a wrapped master-key model with multiple auth methods, so passwords and key files can be added or removed without re-encrypting the whole journal.
Code Analysis
23 files read · 5 roundsA local-first, encrypted desktop journaling application (Tauri v2 + SolidJS + Rust) that stores all entries in an AES-256-GCM encrypted SQLite database with multi-method authentication (password via Argon2id, X25519 keypair via ECIES, or device-local auto key), supporting tags, images, full-text sea
Strengths
Exceptional security architecture: three-crate separation (crypto/core/app) with zeroized key material, ECIES key wrapping, HKDF-keyed fingerprints for encrypted deduplication, network isolation at the WebView level, and a pre-migration snapshot that blocks destructive migrations without a backup. The code is consistently well-documented with clear rationale comments, and the test suite covers roundtrip, tamper detection, wrong-key, and edge cases at every layer.
Weaknesses
The project is a single-developer effort with an enormous surface area (958 files, 7 languages, full website, blog, Nix/Flathub/MSIX packaging) that creates maintenance risk. Some areas like the plugin system and backup rotation were not fully verifiable due to depth, and the frontend state management, while functional, relies on global signals rather than a more structured pattern.
Score Breakdown
Signal breakdown
Innovation
Craft
Traction
Scope
Evidence
Commits
134
Contributors
5
Files
665
Active weeks
12
Repository
Language
TypeScript
Stars
265
Forks
15
License
MIT