Free, open-source, 100% offline HR toolkit — nothing leaves your machine.
Added — App Lock 🔐
- Optional passphrase encryption at rest for Saved Profiles (the store holding
names, salaries and contacts). AES-256-GCM with a PBKDF2-derived key (310k
iterations), all via WebCrypto — no new dependencies, still zero network. With
the lock on, the app asks for the passphrase once per launch and the roster on
disk is unreadable without it. Includes change-passphrase, turn-off (decrypts
back), and an explicit typed-confirmation erase as the only recovery path.
Find it under My Workspace → App Lock.
Added — phones are first-class now 📱
- Full mobile-responsive pass: the sidebar becomes an off-canvas drawer with a
scrim below 768px (auto-closes after you pick a tool), tool layouts and the
letter preview no longer overflow narrow screens, and paddings tighten on small
viewports. The Android build stops feeling like a shrunken desktop.
Changed — release pipeline
- Stable Android signing: releases are now signed with a persistent keystore
(from repo secrets), so APK updates install over the old version instead of
demanding an uninstall that wiped your saved data. Forks without secrets still
build with a throwaway key. - Rich release notes: every release now carries the matching CHANGELOG
section, a which-file-do-I-download table, first-launch instructions and the
commit log since the previous release.
📦 Which file do I download?
| You're on | Grab |
|---|---|
| macOS (M1/M2/M3/M4) | …_aarch64.dmg |
| macOS (Intel) | …_x64.dmg |
| Windows | …_x64-setup.exe (or .msi) |
| Linux | .AppImage (portable) · .deb · .rpm |
| Android (sideload) | …-android.apk |
First launch: builds are unsigned (no paid certificate). macOS: right-click → Open → Open. Windows: More info → Run anyway. Android: allow Install unknown apps.
🔀 Commits since v2.0.2
- v2.1.0: App Lock encryption at rest, mobile-responsive UI, stable APK signing, rich release notes (dc15b64)
Full diff: v2.0.2...v2.1.3