Repository navigation
Releases: Lorenzo-Coslado/macos-faceid
Release list
Mugshot 1.3.0
v1.3.0 Add guided Face ID-style enrollment in the camera island
Mugshot 1.2.0
v1.2.0 Exercise root package installation in CI and bind artifacts to an unc…
Mugshot 1.1.1
Full Changelog: v1.1.0...v1.1.1
Mugshot 1.1.0
Full Changelog: v1.0.3...v1.1.0
Mugshot 1.0.3
Face ID now actually triggers for sudo
On some Macs, running sudo kept asking for the password even though setup had completed
and everything looked correct. sudo only reads its local configuration when
/etc/pam.d/sudo contains auth include sudo_local. Apple has shipped that line since
macOS 14, but it is missing on some systems, and the installer assumed it was there. The
result was an installation that was fully in place and never consulted, with no error
anywhere.
Enabling Face ID for sudo now adds the line when it is missing, after backing up the file
and validating the rewritten result. If you already installed 1.0.2 and sudo never
prompted for your face, update and toggle "Enable Face ID for sudo" off and on once.
Also in this release
- The PAM module now logs every outcome, so a fallback to the password is no longer
silent. Inspect with:
log show --last 2m --predicate 'eventMessage contains "pam_faceid"' scripts/diagnose.shreports exactly which link of the chain is broken.- The disk image now has the usual
Applicationsshortcut, and the app warns if it is
launched from the image or from outside Applications, where the privileged helper
cannot survive. - CI now assembles the bundle and drives the real sudo PAM stack on macOS 14, 15 and 26.
Requirements
Apple Silicon, macOS 14 or later.
Mugshot 1.0.2
Fixes launching on macOS 14 and 15
Releases 1.0 and 1.0.1 could not start on anything older than macOS 26, even though the
app advertised macOS 13. They were frozen with a Homebrew Python, which builds against
the machine's own macOS version, so every bundled binary ended up requiring macOS 26.
Releases are now built with the python.org CPython framework, as PyInstaller recommends,
and every build asserts that no bundled binary requires a newer macOS than advertised.
If you are on macOS 14 or 15, download this build manually. The version you have
cannot start, so it cannot update itself.
Security
- Reject XPC clients whose code signature does not match the privileged helper. Two
ad-hoc binaries previously compared equal, because both report an empty certificate
chain, so any ad-hoc process could drive the helper in a development build. - Stop silently ignoring a failed signing requirement on the XPC connection. Developer ID
builds now require the app's own team, and local builds pin the helper's cdhash.
Requirements
Apple Silicon, macOS 14 or later.
Thanks to @reycn for reporting and fixing the signature checks and for adding the
deployment-target audit (#5).
Mugshot 1.0.1
Fixes enabling Face ID for sudo on macOS 26 (Tahoe). Setup now uses a signed helper and guides you through the required approvals (background item + Full Disk Access). Existing installs update automatically via the built-in updater.
Mugshot 1.0
Unlock sudo on macOS with your face. Local face recognition, nothing leaves your Mac. Requires macOS 13+. Auto-updates via Sparkle.