Mona Lisa is a lightweight menu-bar agent that checks who is sitting at your Mac. If it can't verify an enrolled face, it locks every screen and records whoever's there — until your password is entered (or a trusted face is). The lock survives a reboot.
Requires macOS 14 Sonoma or later and a camera. Apple Silicon & Intel.
Download & drag
Grab MonaLisa.dmg, open it, and drag Mona Lisa onto the Applications shortcut.
Get past Gatekeeper (one time)
This build isn't notarized, so macOS blocks the first launch. Open System Settings → Privacy & Security, scroll to “Mona Lisa” was blocked, and click Open Anyway. Or clear the flag in Terminal:
Click the shield in the menu bar: Add a Person to enroll your face (grant camera access when asked), set an unlock password in Settings, then hit Start Monitoring. Done — it auto-starts at login from now on.
How it works
Three moving parts, all native macOS. No accounts, no cloud, no agents phoning home.
1
Capturing 8 / 12…
Enroll the faces you trust
A live preview guides you through five head positions — front, both sides, up, and down — capturing 15 samples so the face is recognized from every angle, and auto-calibrates a match threshold. Add as many people as you like and remove them any time.
2
Thu 21:36
Checking camera… owner ✓
It watches from the menu bar
Every 30 seconds (you choose), it wakes the camera for a single frame, runs Apple's Vision framework on-device, and goes back to sleep. The camera light just blinks — and between checks the app sits at ~0% CPU.
3
This Mac is locked
Recording video
••••••••
Strangers get locked out — on camera
The moment it's sure an unrecognized person is using the Mac, it drops a full-screen lock over every display and records video of the whole locked period. It disables force-quit and app switching, re-applies itself after a reboot, and unlocks with your password — or a trusted face passing a blink check.
Features
Intruder video — records the entire locked period
Multiple trusted people — enroll anyone by name
Survives a reboot — restarting won't unlock it
Separate password — PBKDF2-hashed, never stored in plaintext
Fully tunable — interval, strictness, camera choice
Activity log — every sighting and lock, timestamped
A deterrent against opportunistic use, not full-disk encryption — pair it with FileVault for real theft protection.
Versions
The download button always fetches the latest version.
git init · mainv0.2.0
Guided enrollment
Guided face enrollment: five head positions with live head-pose feedback, so recognition works from side angles
App icon in Finder and on the DMG
Fixed a crash right after a successful unlock
No more Keychain authorization prompts — the password hash moved to a user-only-readable file
Past releasev0.3.0
More accurate recognition
Face alignment — each face is leveled and scaled to a consistent crop before matching, so lighting and head tilt matter far less
Quality gating — frames too far or too dark are skipped instead of guessed, with live coaching during enrollment
Corroborated matching — two enrolled samples must agree, so a fluke frame can't authorize the wrong person
Past releasev0.4.1
Real face recognition
On-device SFace Core ML model — reliably tells people apart, with precise 5-point alignment
Fail-secure presence lock: a clearly-unrecognized person is locked out in about a second
Records video of the whole locked period, not a photo
Face unlock with a blink liveness check — a photo can't unlock; password always works
Past releasev0.4.2Latest
Automatic updates
Checks for a newer version on launch and once a day, and guides you to update when one is available — so everyone stays on the latest, most accurate build
Builds on 0.4.1: on-device SFace recognition, fail-secure presence lock, video capture of the locked period, and blink-liveness face unlock