Releases: immurok/app-macos
Release list
Release v1.6.0
Major update
Two-host support — pair one device with a second Mac and switch between them with a fingerprint. Requires firmware 1.7.0.
Added
- Two-host Hosts view — a two-card layout showing both hosts, with a step-by-step second-host pairing guide (fingerprint + device button).
- Cross-slot unpair from the Hosts card; the unpair button reveals on hover.
Fixed
- Passwords app auto-fill now works even when focus isn't already in the password field — falls back to a downward AX scan of the front-most Passwords window (whitelist + code-signature checked, single-field hardened).
- SSH / sudo signing and Secure Pairing no longer drop the BLE connection on macOS 27, paired with firmware 1.7.0's supervision-timeout handling.
- Dual-host UI fixes — unpair prompts, and fingerprint/host list refresh on connect/disconnect.
- Full es/fr/ja/pt/ru localization for the new two-host strings.
Other
- build-deploy.sh falls back to the Xcode toolchain when xcode-select points at the Command Line Tools.
Requires firmware ≥ 1.7.0 for two-host support.
Full Changelog: v1.5.0...v1.6.0
Release v1.5.0
-
Ctrl+C now cancels a fingerprint wait in the terminal.
-
Agent authorization now makes a sound.
-
Localization is complete. Japanese, French, Spanish, Portuguese and Russian
were each missing about half their translations, and the untranslated parts
showed raw identifiers such as "about.logs.clear" instead of real text. -
The imk CLI now carries the same version number as the app
Full Changelog: v1.4.7...v1.5.0
Release v1.4.7
Fix compatibility with macOS 27 beta (please also upgrade firmware to 1.6.3+)
Full Changelog: v1.4.6...v1.4.7
Release v1.4.6
- Support 1Passord unlock
- Support Bitwarden unlock (Chrome / Brave / Edge / Arc / Vivaldi only, Safari and Firefox not yet)
Full Changelog: v1.4.5...v1.4.6
v1.4.5
Release v1.4.3
- A new update window for both app and firmware update
- A new user onboarding page
- Better sudo authentication experience
Full Changelog: v1.4.0...v1.4.3
v1.4.0
Full Changelog: v1.3.0...v1.4.0
Full Changelog: v1.3.0...v1.4.0
v1.3.0
v1.20.0
v1.20.0
Hardened over-the-air (OTA) firmware updates
OTA firmware updates are now protected with asymmetric ECDSA P-256 signatures instead of a shared symmetric key. The private signing key never ships on devices or inside firmware images — only the public key is embedded — so an extracted or leaked firmware image can no longer be used to forge updates for other devices.
- Companion app: the PAM socket relay now accepts the new 128-byte v2 (ECDSA) OTA header, alongside the legacy 96-byte format used to bring existing devices onto the new scheme.
- Verified against flash, not the decrypted stream: firmware integrity is now checked by reading the image back from flash after it is written, so a silent flash-write failure can no longer be accepted as a valid update (brick prevention).
- Anti-downgrade: devices on the new firmware reject legacy symmetric-key update packages.
- Anti-rollback: a monotonic security-version floor blocks installing older firmware with known issues.
- Reliability fixes across the on-device verify/install path (watchdog handling during signature verification, correct key/signature byte order, and a deferred post-verify flash commit).
Full Changelog: v1.20.0-beta.1...v1.20.0
v1.20.0-beta.1 — first public beta
immurok for macOS — first public beta 🎉
One touch. No more passwords.
immurok is a compact wireless Bluetooth fingerprint authenticator for desktop Macs (and Linux). It replaces passwords with your fingerprint for everyday actions — screen unlock, sudo, SSH/Git signing, and authorizing the commands your AI coding agent runs — with a single touch. Built for Mac mini / Studio / Pro and closed-lid MacBook setups that have no Touch ID.
⚠️ Beta. This is the first public release. It works end-to-end, but expect rough edges. Please file issues for anything you hit.
What you get
This installer is signed with a Developer ID certificate and notarized by Apple — it installs without Gatekeeper warnings.
| Path | Component |
|---|---|
/Applications/immurok.app |
Menu-bar companion app (BLE, screen unlock, settings) |
/usr/local/bin/imk |
CLI — wrap agent commands behind a fingerprint gate |
/usr/local/lib/pam/pam_immurok.so |
PAM module for sudo / system authorization |
The installer also wires pam_immurok into /etc/pam.d/sudo_local and /etc/pam.d/authorization.
Features
- Screen unlock — touch the sensor while locked; no lid, no typing.
sudo& system authorization — approve terminalsudoand System Settings prompts by fingerprint, via a real PAM module (not password autofill).- SSH & Git commit signing — an on-device ECDSA P-256 key (private key never leaves the hardware) signs your SSH logins and Git commits.
- Agent authorization gate —
imk run --agent -- <cmd>surfaces an on-screen prompt so a single fingerprint touch authorizes commands your AI coding agent (Claude Code, Cursor, Codex, …) runs on your behalf —sudo,git push, secret reads.
Requirements
- macOS 13 (Ventura) or later — universal binary (Apple Silicon + Intel)
- An immurok fingerprint device, paired over Bluetooth
Install
- Download
immurok-1.20.0-beta.1.pkgbelow and run it. - Open
/Applications/immurok.appand grant the Accessibility permission when prompted. - From the menu-bar icon → Open Settings, set your Mac login password (used to perform screen unlock).
- Pair your device, enroll a fingerprint, then lock the screen and touch the sensor to test.
Uninstall
Use the in-app Uninstall action (menu bar → Settings → Uninstall). It runs a signed uninstaller that removes the PAM module and unwires it from /etc/pam.d/sudo_local and /etc/pam.d/authorization, along with the app, the imk CLI, and your local data.
⚠️ Do not justrmthe app. That leaves thepam_immuroklines in/etc/pam.d/*pointing at a module that no longer exists, which can breaksudoand system authentication.
To uninstall manually, remove the PAM lines first, then the files:
# 1. unwire the PAM module (do this BEFORE deleting the .so)
sudo sed -i '' '/pam_immurok/d' /etc/pam.d/sudo_local /etc/pam.d/authorization
# 2. remove the module, CLI, and app
sudo rm -f /usr/local/lib/pam/pam_immurok.so /usr/local/bin/imk
sudo rm -rf /Applications/immurok.app
# 3. drop the installer receipt and your local data
sudo pkgutil --forget com.immurok.pkg
rm -rf ~/.immurokFull Changelog: https://github.com/immurok/app-macos/commits/v1.20.0-beta.1