GitHub - paniclock/paniclock: Instantly disable Touch ID and lock your Mac with one click or keyboard shortcut. · GitHub

Source: original

PanicLock is a macOS menu bar utility that instantly disables Touch ID and locks the screen with a single click or closing your laptop lid.

PanicLock fills a gap macOS leaves open: there is no built-in way to instantly disable Touch ID when it matters. Biometrics are convenient day-to-day, and sometimes preferable when you need speed or want to avoid your password being observed. But in sensitive situations, law enforcement and border agents in many countries can compel a biometric unlock in ways they cannot with a password. PanicLock gives you a one-click menu bar button, a customizable hotkey, or an automatic lock-on-lid-close option that immediately disables Touch ID and locks your screen, restoring password-only protection without killing your session or shutting down.

Download PanicLock

Features

Install

Homebrew

brew install paniclock/tap/paniclock

Manual Download

Download the latest DMG from the releases page.

Requirements

Usage

Action | Result

Left-click icon | Trigger panic lock immediately Right-click icon | Open menu (Preferences, Uninstall, Quit)

Lock on Close

When enabled in Preferences, closing your Mac's lid will automatically disable Touch ID and lock your screen. Touch ID stays disabled until you re-login with your password. If your screen locks for other reasons (screensaver, display sleep, etc.), Touch ID will still work as normal.

First Launch

On first use, you'll be prompted for your admin password to install the privileged helper. This is a one-time setup.

Building from Source

  1. Clone this repository
  2. Open PanicLock.xcodeproj in Xcode
  3. Set your Development Team in both targets (PanicLock and PanicLockHelper)
  4. Update Team ID in Info.plist (SMPrivilegedExecutables) and Info-Helper.plist (SMAuthorizedClients)
  5. Build and run

Uninstall

Homebrew:

brew uninstall paniclock

From the app: Right-click → "Uninstall PanicLock..." → Enter admin password

Manual:

sudo launchctl bootout system/com.paniclock.helper sudo rm -f /Library/PrivilegedHelperTools/com.paniclock.helper sudo rm -f /Library/LaunchDaemons/com.paniclock.helper.plist rm -rf /Applications/PanicLock.app

How It Works

PanicLock uses a privileged helper (installed via SMJobBless) to modify Touch ID timeout settings:

  1. Reads current timeout via bioutil -r -s
  2. Sets timeout to 1 second via bioutil -w -s -o 1
  3. Locks screen via pmset displaysleepnow
  4. Restores original timeout after ~2 seconds

PanicLock only disables Touch ID. If you have other unlock methods enabled — Apple Watch unlock, security keys, etc. — your Mac can still be unlocked using those.

Security

Note: PanicLock only disables Touch ID. If you have other unlock methods enabled, Apple Watch unlock, security keys, etc., your Mac can still be unlocked using those.

Releasing

The release script handles building, signing, notarizing, and packaging:

./scripts/release.sh

Features:

Workflow:

  1. Bump MARKETING_VERSION in Xcode
  2. Run ./scripts/release.sh — builds and submits for notarization
  3. Run again later to check status and continue when approved
  4. Final output: build/release/<version>/PanicLock-<version>.dmg

License

MIT License — See LICENSE for details.

Contributing

Contributions welcome! Please open an issue or pull request.