Repository navigation
Releases: karanshukla/vinoAuthFace
Release list
v8
What's Changed
- Tray: Settings menu for the everyday config keys by @karanshukla in #147
- Overlap startup work and drain stale camera frames by @karanshukla in #149
- Document that tract is on 0.23 by @karanshukla in #150
- Retry LockBusy in the parallel lockout test by @karanshukla in #152
- Tray: flatten Settings into one level with a Security preset by @karanshukla in #155
- Tray idle delay in Settings; KDE lock screen slot choice by @karanshukla in #156
Full Changelog: v7...v8
v7
What's Changed
- Bump tract to 0.23 to drop unmaintained anymap2 by @karanshukla in #135
- deploy.sh: install an archive OpenVINO runtime root-owned, and run from the checkout by @karanshukla in #133
- uninstall: clean PAM before removing binaries, strip our line instead of restoring backups by @karanshukla in #138
- release: build with a read-only token, publish in a separate job by @karanshukla in #137
- Fail closed when no IR camera is found instead of guessing /dev/video0 by @karanshukla in #141
- Treat only loopback PAM_RHOST as local, and refuse SSH sessions by default by @karanshukla in #142
- Enrol as root from the system config only, and validate --device by @karanshukla in #144
- Run getent by absolute path, fix a flaky pty test, correct store modes in the docs by @karanshukla in #145
- deploy: reject files SHA256SUMS doesn't list in the OpenVINO prefix; run ovfetch as the user by @karanshukla in #139
- Never auto-detect or accept a user-chosen virtual camera by @karanshukla in #134
- guard: protect everything but prose, and refuse a partial file list by @karanshukla in #136
- Count a failed attempt when the face is first seen, and lock the lockout state by @karanshukla in #143
Full Changelog: v6...v7
v6
What's Changed
- Reuse one build directory across vinoauthface-upgrade runs by @karanshukla in #127
- Run one tray per session by @karanshukla in #130
- Replace explanatory comments with named helpers and boundary tests by @karanshukla in #128
- deploy.sh: rebuild stale target/ binaries when cargo is available by @karanshukla in #131
Full Changelog: v5...v6
v5
What's Changed
- Hide the tray icon after 30 idle minutes by @karanshukla in #121
- Face unlock at the Plasma login screen under SELinux, with an off/both/face mode by @karanshukla in #123
- Unseal sealed templates at the login screen in their own SELinux domain (#122) by @karanshukla in #125
Full Changelog: v4...v5
v4
What's Changed
- docs(pam): note su and console login aren't covered by @karanshukla in #118
- Refuse enrolment past the 256-embedding cap before capturing by @karanshukla in #120
- Upgrade without a checkout: vinoauthface-upgrade by @karanshukla in #119
Full Changelog: v3...v4
v3
What's Changed
- Publish releases as full releases (v2 onwards) by @karanshukla in #111
- Update check in doctor and the tray by @karanshukla in #113
- tray: camera, enrolment and backend in a Status submenu (#112) by @karanshukla in #117
- doctor: lockout, sudo targetpw, SELinux module, NPU driver, --report (#18) by @karanshukla in #116
- Scale low-aligned Y16 up to the full 16-bit range (#109) by @karanshukla in #115
Full Changelog: v2...v3
v2
What's Changed
- fix: bump tract-onnx to 0.21.17, patches CVE-2026-55832 by @karanshukla in #11
- docs: fix incorrect MIT-license claim on recognition model by @karanshukla in #12
- docs: add hardware compatibility table, borrowed from Visage by @karanshukla in #13
- Resync onto upstream authFace and replay fork features by @karanshukla in #37
- Repo hardening: cargo-deny, clippy, pinned actions, Dependabot, guard, SECURITY.md by @karanshukla in #38
- docs(CLAUDE.md): fix stale commands and claims after the resync by @karanshukla in #42
- Take Dependabot's cargo and actions updates (supersedes #40, #39) by @karanshukla in #43
- chore(deps): bump thiserror from 2.0.18 to 2.0.20 in the cargo group by @dependabot[bot] in #45
- Set-group-ID face-auth so the KDE lock screen and swaylock can match by @karanshukla in #44
- docs: cut README to a quick start and index, move the rest to docs/ by @karanshukla in #49
- Pin the NPU compile cache to a root-owned directory by @karanshukla in #51
- feat: only authenticate the user who owns the active seat0 session by @karanshukla in #56
- docs(pam): what face login does to KWallet, oo7 and GNOME Keyring by @karanshukla in #54
- fix(deploy): insert face-auth above the first authenticator, not the header by @karanshukla in #53
- feat: skip the scan under SSH or with the lid closed by @karanshukla in #55
- Minimum face size gate (min_face_size_ratio) by @karanshukla in #57
- face-similarity-check: batch genuine/impostor mode with TAR/FAR and sweep by @karanshukla in #58
- feat: provision OpenVINO with ovfetch, warm the NPU cache on deploy by @karanshukla in #59
- feat: track the latest ovfetch in CI; require 0.2.2 by @karanshukla in #60
- feat(deploy): compact, sectioned installer output by @karanshukla in #61
- Start delay for screen lockers (fixes manual-lock re-unlock) by @karanshukla in #62
- fix(deploy): stop a cached openvino-sys linking a stale ovfetch path by @karanshukla in #64
- feat(tray): KDE tray icon replacing the GTK GUI by @karanshukla in #63
- fix(tray): themed icons, left-click menu; deploy.sh progress bars by @karanshukla in #66
- fix(storage): vet embeddings.bin before parsing it by @karanshukla in #67
- fix(storage): finish #25 store hardening by @karanshukla in #68
- feat: bash completion for face-enroll by @karanshukla in #69
- docs: add the MIT license text by @karanshukla in #71
- feat: confirm a face match with Enter for sudo, su and polkit by @karanshukla in #70
- feat(deploy): COSMIC and Plasma login PAM targets by @karanshukla in #72
- docs(readme): state the immutable-distro and IR-only niche by @karanshukla in #73
- feat(prompt): terminal placeholder while scanning; smaller tray icon by @karanshukla in #74
- test(seat): pin the text-console session case by @karanshukla in #75
- feat: rename commands to vinoauthface; add install.sh by @karanshukla in #77
- deploy: honest build progress bar, restart stale tray by @karanshukla in #78
- feat(deploy): zsh and fish completions by @karanshukla in #80
- Seal templates to the TPM via user-scoped systemd-creds by @karanshukla in #79
- deploy.sh: skip SELinux policy step when SELinux is not enabled by @karanshukla in #85
- uninstall.sh: keep a vendor PAM copy the user edited after deploy by @karanshukla in #86
- Add vinoauthface doctor subcommand by @karanshukla in #87
- Add update.sh: rebuild and swap only the binaries by @karanshukla in #89
- Liveness: compare the face patch, require non-rigid motion (#17) by @karanshukla in #88
- Liveness: default the residual check off until calibrated (#17) by @karanshukla in #91
- Liveness: block-local residual with quarter-pixel alignment (#17) by @karanshukla in #92
- Liveness: extend the scan once when a match is held back (#17) by @karanshukla in #94
- vinoauthface-auth: keep RUST_LOG for root --verify by @karanshukla in #95
- docs: record printed photos as an accepted risk (#17) by @karanshukla in #97
- doctor: check backend, templates' model tag, and a missing camera (#18) by @karanshukla in #101
- storage tests: plant files 0640 whatever the umask by @karanshukla in #100
- Liveness: measure total motion across a 1 s window (#96) by @karanshukla in #99
- Show the scan prompt on lock screens via pam_exec stdout (#20) by @karanshukla in #102
- deploy: default NPU builds to the r50 model by @karanshukla in #105
- doctor: verify installed models against shared SHA-256 pins (#18) by @karanshukla in #104
- Consecutive release tags: scripts/release.sh, versioned builds (#98) by @karanshukla in #106
- Bind templates to the enrolling camera's USB ID by @karanshukla in #103
- SCRFD detector and 5-point alignment before encoding (#27) by @karanshukla in #108
- Group config settings and add a liveness preset by @karanshukla in #110
Full Changelog: v0.0.1...v2
v0.0.1
sudo/lock-screen). It has been validated by a single developer on a single hardware/lighting setup only — no independent review of the recognition/liveness logic, and no testing across other users, cameras, or environments. Do not rely on this as your only authentication factor.
This is a fork of pfalkingham/authFace (MIT) with substantial changes: OpenVINO/NPU backend, r50 recognition model, motion-based liveness, IR-photo/screen anti-spoofing, camera diagnostics tooling, CI/release automation.