Your Face is the Password.

A secure, lightning-fast face-recognition unlock daemon for macOS. Everything is processed locally. Nothing leaves your Mac.

FaceUnlock Dashboard
10:42
Thursday, July 2
100%

Local Processing

Zero telemetry. No cloud.

<15s

Scan Timeout

Lightning fast verification.

AES

256-bit GCM

Hardware enclave protected.

Everything FaceUnlock does

A quick overview - the enrollment walkthrough and full security model are just below.

🧠

Face Recognition

ArcFace 512-d embeddings enrolled from 4 poses, matched on-device via the Apple Neural Engine for near-instant results.

👁️

Liveness Detection

Passive yaw/roll movement analysis tells a live face from a photo or screenshot - no extra hardware needed.

🔐

Security

Touch ID gates a single AES-256 GCM session key. Without it, your password and face data stay fully encrypted.

⚡️

Auto-Unlock

Wake your display, glance at the camera, and your password is typed in for you - done in under seconds.

📋

Activity Log

Every lock and unlock event is tracked locally in the Activity tab, so you always know what happened and when.

🌐

Background Noise Ignored

ROI filtering only considers a face centered in frame - people walking behind you never trigger a false match.

See exactly what's being measured

Every pose reports live yaw, roll, and quality scores in real time - enrollment isn't a black box.

1. Straight - tap to see what's measured

1
2

2. Turn left

3. Turn right

3
4

4. Tilt

Done - 8 embeddings

Security model

FaceUnlock is a convenience layer over your macOS login password - here's exactly what that does and doesn't protect against.

✅ What's guaranteed

  • ArcFace 512-d embeddings - cosine similarity vs. your enrolled centroid and max, both must clear the threshold.
  • Passive movement liveness - natural yaw/roll variance over ~0.4s. A flat photo or screenshot can't accumulate it.
  • ROI filtering - only a face centered in frame is considered; background people are ignored.
  • AES-GCM encryption of both the password and enrollment data, unlocked only by a session key held in memory.
  • Touch ID gate on enrollment, reset, and password clear.
  • Hardened Runtime, anti-debugger (PT_DENY_ATTACH), zero network calls, zero telemetry.

⚠️ What's NOT guaranteed

  • FaceUnlock is a convenience layer over your macOS password, not a replacement for it. A few things worth knowing before you turn on auto-unlock.
  • Liveness is movement-based, not depth-based. Photos and simple looped videos don't fool it in testing; a highly sophisticated video attack could theoretically still succeed.
  • Look-alikes carry small risk. ArcFace is highly accurate but not perfect - identical twins in particular. Raise the threshold to tighten this.
  • Protects data at rest, not a compromised session. Once unlocked, this works like any local security tool - it's not a defense against a fully compromised Mac.
Bottom line: Your Mac password is still the real lock - FaceUnlock is the fast front door.

Set up once, unlock forever

Four one-time steps. Everything after this is a glance at your camera.

1

Grant permissions

Allow Camera access, then enable Accessibility so FaceUnlock can type into the lock screen.

2

Set your Mac password

Enter it twice. It's encrypted immediately with a fresh AES-GCM session key.

3

Enroll your face

Touch ID required. Follow the 4-pose guide - straight, left, right, tilt.

4

Turn on auto-unlock

Enable "Auto-unlock when display wakes" in Settings - and you're done.

Requirements

macOS Sonoma

Version 14.0 or later is required.

Apple Silicon

Strongly recommended for best ANE performance.

Camera

Built-in FaceTime or Continuity Camera.

Touch ID / Password

Required to unlock the encryption session key.

QUICK INSTALL

Get started in seconds

Install via Homebrew or download the zip from the releases page.

Step 1 — Tap the formula

$ brew tap sh4dow-clone/tap

Step 2 — Install the cask

$ brew install --cask sh4dow-clone/tap/faceunlock

If macOS blocks the app on first launch

Run this command to remove the quarantine attribute:

$ xattr -dr com.apple.quarantine /Applications/FaceUnlock.app

— or —

Download ZIP from Releases

The app shows a security warning on install because I can't afford Apple's $99/year Developer Program to sign it.

If you'd like to help fix that for everyone —

Support me on Ko-fi