{"adoption": {"forks": 44, "observed_at": "2026-08-28T04:04:59.707467+00:00", "stars": 1534}, "canonical_url": "https://ross.abutalabs.com/products/sudo-touchid", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A fork of `sudo` with Touch ID support.", "domain": ["security", "developer-tools", "apple-ecosystem"], "enriched": true, "function": ["security", "auth", "cli"], "health_score": 20, "homepage": null, "language": "C", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["mattrajca/sudo-touchid"], "name": "mattrajca/sudo-touchid", "platform": ["cli"], "pushed_at": "2021-11-02T16:31:24+00:00", "repo": "mattrajca/sudo-touchid", "stars": 1534, "tags": ["touch-id", "sudo", "biometric-authentication", "macos", "localauthentication", "command-line"], "topics": [], "urls": [], "use_cases": ["authenticate sudo commands with Touch ID in the terminal", "replace password prompts with fingerprint authentication for sudo", "use biometric authentication for root commands on a MacBook Pro", "avoid typing my sudo password every time", "set up Touch ID for terminal sudo on macOS"], "what_it_is": "A fork of the Unix sudo utility that adds Touch ID biometric authentication support on macOS via the LocalAuthentication framework. It lets users authenticate sudo commands in the Terminal with their fingerprint on Touch ID-equipped Macs.", "when_to_avoid": ["you need a security-audited solution for production or enterprise machines", "your Mac lacks a Touch ID sensor", "you need actively maintained software with a clear license"], "when_to_choose": ["you have a Touch ID-capable Mac and want biometric sudo authentication in the terminal", "you want a drop-in sudo replacement installed under /usr/local/bin without disabling SIP"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sudo-touchid", "repo": "mattrajca/sudo-touchid", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.707467+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:12.893324+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2547723602784012dae35cd069f32daa058df0d66ef4f721fea0e32750e7a4b", "fetched_at": "2026-08-28T04:04:59.707467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mattrajca/sudo-touchid"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3594, "days_push": 1765, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}