Skip to content
Go back

HandsOff - Protection from little fingers and paws

Have you ever been on a video call when your cat walks across your keyboard and types gibberish into chat? Or had your curious kid “help” with your presentation by clicking everything in sight? HandsOff is a small macOS utility for exactly that. It blocks all keyboard, trackpad, and mouse input while your screen stays fully visible.

HandsOff today is a menu-bar app, and for how it was built and debugged, see what building HandsOff taught me about steering coding agents.

The problem

Modern work often means leaving your laptop open and running while you step away or sit on a video call. That invites a few bad situations:

Traditional fixes like locking your screen hide everything and defeat the point. HandsOff takes a different approach. It blocks input while keeping your screen visible.

How HandsOff works

HandsOff uses macOS CoreGraphics event taps to intercept keyboard, trackpad, and mouse events at the system level. When locked, your screen stays on and viewable, but no input gets through except for your secret passphrase to unlock.

Key features:

Major use cases

Video conferencing

Working from home with pets or kids around? HandsOff protects you during Zoom, Google Meet, or Teams calls:

Presentations and screen sharing

When sharing your screen:

Leaving your laptop unattended

Need to step away but want to keep monitoring something?

Long-running builds and agent sessions

Lock input while a coding agent runs tests or a build. The screen stays readable, so you can watch output land, and stray keystrokes can’t interrupt the session.

Getting started

HandsOff ships as an ad-hoc signed DMG.

  1. Download the arm64 or x86_64 DMG from GitHub Releases.
  2. Drag HandsOff.app to /Applications.
  3. Right-click and choose Open on first launch, then confirm the Gatekeeper prompt.
  4. Grant Accessibility permissions in System Settings.
  5. The Setup Wizard opens automatically on first run.

The menu-bar icon is red when locked. The menu has Lock Input, Preferences, Change Passphrase, Reset, Fix Accessibility Permission, Check for Updates, Help, and Quit. All mouse clicks are blocked while locked, so unlocking is passphrase-only.

Security

HandsOff stores your passphrase as a hash of the physical keycodes you press. That works with any keyboard layout, and nothing readable touches disk.

Other details:

HandsOff guards against casual interference, not a determined local actor who can reboot, kill the app, or take the machine.

Built with Rust

HandsOff is written in Rust for performance, safety, and native macOS integration. It uses CoreGraphics event taps for reliable input blocking and integrates cleanly with macOS’s Accessibility framework.

The project is open source and available on GitHub. Contributions welcome.


Requires macOS 13 (Ventura) or later. Tested on a MacBook Air M2. License is in the GitHub repo.


Share this post on:

Previous Post
What building HandsOff taught me about steering coding agents
Next Post
Google Ads Asset-based Ad Extensions