A free, open-source macOS menu-bar alarm for when you step away from your laptop. Native Swift/SwiftUI. No account, backend, analytics, or subscription.
Requires macOS 14+ and a built-in camera. Apple silicon and Intel builds are included.
brew install --cask karnstack/tap/tripwire
open -a TripwireNo Homebrew? Download the ZIP from Releases, unzip it, and drag Tripwire.app into Applications.
Early preview: downloads are ad-hoc signed, not Apple-notarized yet. If macOS blocks a trusted Tripwire download, first try opening it, then use System Settings → Privacy & Security → Open Anyway. See Apple's instructions. We do not disable Gatekeeper or remove quarantine automatically.
- Open the shield in the menu bar. Allow Input Monitoring and Camera, then quit and reopen Tripwire.
- Click Check beside hardware sensors. Keep still for 3 seconds, then gently move the hinge and lift/tilt the Mac. This check is silent and takes no photos.
- Click Arm Tripwire, or press Control + Option + Command + T (
⌃⌥⌘T). Keep the Mac still during the five-second countdown. - A trigger starts a loud looping siren, saves an event, and attempts three front-camera photos. Closing the menu does not stop protection.
- Use the menu or shortcut to disarm with Touch ID or your Mac password. Your return interaction can trigger the alarm before authentication finishes.
Try Test sound… somewhere a loud two-second siren is appropriate. The camera light stays on while armed; photos are saved only after a trigger.
- Detects keyboard/mouse/trackpad events, charger removal, system/display wake, and interrupted monitoring.
- Experimental hinge and movement detection works when compatible hardware supplies valid readings. Check status on your Mac. These Apple-specific hardware reports are undocumented; support can vary or break after an OS update. Subtle motion can fall below detection thresholds.
- Keep the lid open. Actual sleep pauses the app, alarm, and camera. Wake can trigger when macOS resumes. Lock screen and Secure Input may restrict input/camera access.
- This is a deterrent, not theft-proof security. Force quit, power-off, logout, or shutdown defeats protection. Launching the app always starts disarmed.
Events opens ~/Library/Application Support/Tripwire/Events/. Photos and timestamped JSON stay on your Mac until you delete them. No uploads or automatic cleanup. Files are private to your user, not separately encrypted or tamper-proof.
Install Xcode 16+ with Swift 6, then:
git clone https://github.com/karnstack/tripwire.git
cd tripwire
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
swift test
bash scripts/build-app.sh
open dist/Tripwire.appQuit Tripwire before rebuilding. Use the .app bundle, not swift run Tripwire, for camera permissions. Move it to a stable location before granting access.
API research and architecture · Hardware testing · Releases, signing, and App Store notes
MIT · © 2026 Karn