Glance: face unlock for Mac, with the security trade-off written into the README
Glance: Face Unlock for Mac
At a glance
- What is it?
- Glance is an MIT-licensed SwiftUI app that unlocks a Mac by typing your stored password when a webcam face match and liveness check both pass. It is a convenience feature, and the repository says so before you download.
- Who is it for?
- Adopt Glance if you want wake-and-lock convenience on a Mac you already trust physically, you accept that a webcam match is weaker than Apple's depth-sensing Face ID, and you are willing to grant Camera, Accessibility and Touch ID permissions. Do not adopt it on a shared or publicly reachable machine, and do not treat it as a security upgrade over Touch ID or a strong password.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 6 days ago.
- What is it written in?
- Mainly Swift, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 19, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem Glance solves on a MacBook
Typing a password every time a MacBook wakes is friction, and Touch ID only helps if your finger is already on the key. Glance targets that specific gap: it watches the camera when the machine locks or wakes, and if the face in frame matches an enrolled identity, it enters your stored Mac password for you. The README frames the goal as bringing "the FaceID-like experience of your iPhone to a Mac near you."
The intended user is a single person on a personal Mac who locks the screen often and finds the password prompt annoying. It is not aimed at fleets, shared workstations, or anyone who needs an authentication factor that resists a determined attacker. The repository is explicit about that: "Glance is a convenience feature, not a security upgrade."
How the recognition pipeline and unlock gate actually work
Enrollment walks you through turning your head in nine directions. Each captured frame becomes a 512-number embedding produced by an ArcFace-based Core ML model, and the README states the original frame is then discarded. Embeddings are stored locally under AES-GCM. Your Mac password is encrypted separately, with a 256-bit AES key held in the macOS Keychain behind `userPresence`, which means Touch ID or your device password gates access to it. The key is only in memory while an authorized session is active.
The unlock decision is a conjunction, not a single score. According to the README, all five of these must hold: a valid Glance session is authorized, the Mac is genuinely at the lock screen, an enabled identity matches above the configured similarity threshold, liveness checks accept the face, and Accessibility permission is available to type. Face recognition and liveness run independently and both must succeed. That structure matters because it means a good face match alone cannot type anything.
Liveness is the part worth reading closely. Five cues run over a rolling window of about two seconds, split into two roles. Deny cues are evidence of a spoof (screen glare, or a device-shaped rectangle framing the face), and either one fails the scan outright. Confirm cues are evidence of a live face: flat-versus-3D landmark geometry, nose parallax across head turns, blinks. Any one confirm cue is enough, and their absence is not a failure, because a real person can sit still without blinking. Light strictness uses only deny cues; Heavy uses both.
Installing the Glance DMG and running a first unlock
The README gives a download path rather than a package manager. Requirements are macOS 15 Sequoia or later, on Apple Silicon or Intel. The release asset is a DMG linked from the repository's releases page. Open the DMG, drag Glance to `/Applications`, and launch it.
On first run the onboarding asks for the three permissions listed in the README: Camera (frames are processed in memory and never written to disk), Accessibility (so Glance can type your password at the lock screen), and Touch ID (which gates the key encrypting your face data and password).
The onboarding then walks you through the nine head directions and asks you to enter your Mac password once. After that, lock the screen or let the machine sleep. You should see the pill expand in the notch into a scan animation, with distinct success and failure states; hovering over the notch retries. If you want to test recognition values rather than guess at them, the README describes a hidden console: open Settings, go to About, and click the app icon five times. A debug section appears in the sidebar.
Building from source instead requires macOS 15+ and Xcode 26+:
git clone https://github.com/jonnyoo/glance.git
cd glanceThen open the project in Xcode and run it:
open glance.xcodeprojPress `Cmd + R` in Xcode to run. Note the README says the project is not currently accepting pull requests, though forking is explicitly allowed.
Where Glance is the wrong tool
The repository's own warning is the honest starting point: MacBooks lack the depth sensors that make iPhone Face ID trustworthy, so a MacBook webcam sees a flat 2D image. The README states Glance defeats a printed photo and a photo on a phone screen with reasonable confidence when heavy liveness detection is on, but does not reliably defeat a video of you. That is a real failure mode, not a theoretical one, and it is why the project calls itself a convenience feature.
The second constraint is architectural and cannot be fixed by the author. macOS has no API that lets a third-party app authorize a login, so Glance unlocks by typing your stored password at the lock screen. Your plaintext password therefore has to be recoverable by the app at unlock time, protected by Keychain and Touch ID rather than by never being stored. If that property is unacceptable to you, no amount of tuning changes it.
The third is scope. This is a macOS 15+ app with a notch-oriented UI; Macs without a notch get a pill-shaped substitute, which the README documents, but the whole interaction model assumes a modern Mac. On a shared machine, or any Mac where more than one person has physical access, a face-unlock convenience layer is the wrong control, because the thing it optimizes is speed of entry.
How Glance compares with the built-in alternatives
The obvious alternative is Touch ID, which most modern MacBooks already have. The difference in approach is the sensor: Touch ID reads a fingerprint through a dedicated piece of hardware, and Apple's Face ID on iPhone builds a 3D map of a face with depth sensors. Glance has neither, so it substitutes a 2D webcam image plus a software liveness heuristic. Touch ID also does not require your password to be stored in recoverable form, because the system authorizes the login itself. If your goal is authentication strength, Touch ID wins on the mechanism, not just on the brand.
The other comparison the README invites is with the iPhone's face unlock experience. That is a fair comparison for feel and an unfair one for security, and the project says as much rather than letting the distinction blur. Within its own category, Glance's distinguishing choices are the on-device embedding pipeline, the five-cue liveness model with two strictness levels, multi-identity enrollment for glasses, beards or different lighting, and the notch animation. Those are product decisions, not security claims, and the README keeps them in separate sections.
Maintenance, upgrade cost and the MIT licence
The repository is not archived, and the last push was on 2026-09-13, the same day release 1.1.0 was published. Two earlier releases, v1.0.0 and v1.0.1, landed in the weeks before that. So this is a young project with a recent commit history, and the release cadence so far suggests small, frequent version bumps rather than long stable branches.
Upgrade cost is low in the ordinary case: the README documents no migration step between versions, and the app ships as a DMG you drag into `/Applications`. The real cost is re-enrollment and permission state. Face embeddings and the stored password are local encrypted files, and the README says you can edit or delete your enrolment or stored password at any time, with the encrypted files removed immediately. If you delete them, you redo the nine-direction enrollment. If you switch cameras, the README notes you can pick a different camera for the built-in display versus an external monitor, which is a setting rather than a re-enrollment, but recognition quality across cameras is not something the README quantifies.
The licence is MIT, stated in the README badge and present as a `LICENSE` file at the repository root. MIT is permissive: it allows use, modification and redistribution with the licence and copyright notice retained, and it comes with no warranty. That last part is worth reading literally here. The project's own warning about spoofing is a factual statement about the mechanism, and MIT does not shift any of that risk to the author. This is a description of the licence text, not legal advice.
Editorial conclusion
Adopt Glance if you want wake-and-lock convenience on a Mac you already trust physically, you accept that a webcam match is weaker than Apple's depth-sensing Face ID, and you are willing to grant Camera, Accessibility and Touch ID permissions. Do not adopt it on a shared or publicly reachable machine, and do not treat it as a security upgrade over Touch ID or a strong password. Before enrolling, verify your macOS version is 15 Sequoia or later, confirm the release you download is the signed DMG from the project's releases page, and check that the liveness strictness you plan to run is actually the one you tested with.
Frequently asked questions
How do I use Glance to unlock my Mac?
Install the DMG, drag Glance to /Applications, then complete onboarding: grant Camera, Accessibility and Touch ID permissions, capture your face in nine directions, and enter your Mac password once. After that, Glance scans when the Mac locks or wakes and types the password if the face matches and liveness passes.
Is Glance as secure as Apple's Face ID or Touch ID?
No, and the README says so directly. MacBooks lack the depth sensors behind iPhone Face ID, so Glance sees a flat 2D image. It defeats a printed photo and a photo on a phone screen with reasonable confidence when heavy liveness detection is on, but does not reliably defeat a video of you.
What permissions does Glance need?
Three: Camera to see your face, with frames processed in memory and never written to disk; Accessibility to type your password into the lock screen; and Touch ID to gate the key that encrypts your face data and password.
Can I enroll more than one face in Glance?
Yes. The README lists multiple identities as a feature, so you can enroll several people or several versions of yourself, such as with glasses, a beard, or in different lighting. Any identity can be toggled off without deleting it.
Does Glance send my face data or password to a server?
The README states that face recognition, enrollment and liveness detection run entirely on-device using Vision and Core ML, and that Glance does not send face data, camera frames or credentials to a server. Embeddings are stored locally encrypted with AES-GCM.
Community notes