— Software Development
Keystone
Ett local-first, helt offline skrivbordsvalv för de små hemligheter utvecklare strör ut i textfiler - API-nycklar, snippets, kommandon, anteckningar. Kryptering per post med ChaCha20-Poly1305 och nyckelhärledning med Argon2id; huvudlösenordet lämnar aldrig datorn, och på Windows håller Win+V-undantag från urklippshistoriken kopierade hemligheter inneslutna.
Rust Tauri ChaCha20-Poly1305 Argon2id SQLite React TypeScript Tailwind CSS
~ när Apr 2026 → Pågående
~ status Aktiv
~ typ Personligt projekt
Keystone är ett local-first skrivbordsvalv för de små hemligheter utvecklare strör ut i lösa textfiler - API-nycklar, snippets, kommandon och referensanteckningar. Byggt för dig som vuxit ur spridda filer men inte vill ha ett delat molnvalv för det personliga.
Säkerhet
- Kryptering per post - varje posts titel, värde, anteckningar och taggar förseglas tillsammans som en krypterad post med ChaCha20-Poly1305; endast metadata ligger i klartext - tidsstämplar, favorit-/känslighetsflaggor, posttyp, samlingstillhörighet och användningsräknare
- Nyckelhärledning med Argon2id - huvudlösenordet lagras aldrig och lämnar aldrig datorn; nycklar nollställs ur minnet vid låsning
- Sömnmedvetet autolås - konfigurerbar inaktivitetsgräns som även låser om gränsen passerats medan datorn sov
Integritet
- Helt offline - ingen telemetri, ingen server för automatuppdatering, noll nätverksberoenden i Rust-craten; Tauris capability-fil räknar upp varje nativt API appen får röra
- Win+V-undantag (Windows) - på Windows taggas kopierade hemligheter så att de aldrig hamnar i Win+V-urklippshistoriken (macOS/Linux använder standardurklipp); autorensning raderar allt som markerats som känsligt efter en konfigurerbar fördröjning, men låter icke-känsliga poster (snippets, kommandon) ligga kvar att klistra in
Byggt med
- Frontend: React 19 + TypeScript, Tailwind CSS v4, Radix UI-primitiver
- Desktop: Tauri v2 (Rust)
- Lagring: SQLite via rusqlite (medföljer)
- Krypto: Argon2id KDF + ChaCha20-Poly1305 AEAD, med zeroize för minnesrensning av nycklar
Om diagrammet
Varje axel är en funktionell pelare; det orange visar var mitt fokus låg, det lila hur stor del av arbetet som var AI-förstärkt. Det AI-lagret är där verktyg snabbade upp implementationen - arkitektur, kodgranskning och kvalitetsnivån är mina egna. Jag använder AI som precisionsverktyg med strikta konventioner, inte autopilot.