{"adoption": {"forks": 418, "observed_at": "2026-08-28T04:05:08.490940+00:00", "stars": 1590}, "canonical_url": "https://ross.abutalabs.com/products/lollipin", "card": {"archived": true, "artifact_type": "library", "description": "A Material design Android pincode library. Supports Fingerprint.", "domain": ["mobile-development", "security", "android-tools"], "enriched": true, "function": ["security", "auth", "ui-components"], "health_score": 10, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["omadahealth/LolliPin"], "name": "omadahealth/LolliPin", "platform": [], "pushed_at": "2022-04-04T19:24:45+00:00", "repo": "omadahealth/LolliPin", "stars": 1590, "tags": ["pincode", "fingerprint", "material-design", "app-lock", "biometric-authentication", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["add a pin code lock screen to my android app", "require a pin before opening protected activities", "let users unlock my app with their fingerprint", "implement material design pin entry screen", "store pin codes securely without saving plaintext", "customize what happens when the user forgets their pin"], "what_it_is": "LolliPin is a Material design styled Android library that adds PIN code lock protection to apps, storing only a SHA-1 hash of the PIN. It also supports fingerprint unlocking via the Google Fingerprint API and lets developers customize lock behavior by extending AppLockActivity.", "when_to_avoid": ["you need modern Android BiometricPrompt APIs or passkey support", "you target only recent Android versions and want an actively developed solution", "you need iOS or cross-platform lock screens"], "when_to_choose": ["you need a ready-made, material-styled PIN lock for an Android app", "you want optional fingerprint unlock alongside a PIN", "you want to protect only specific activities rather than the whole device"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/lollipin", "repo": "omadahealth/LolliPin", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "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:05:08.490940+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.490940+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:54:48.008531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "961f6dbbc634d4cca272e83fb40bb145e856669dbef633c7ae8e7db6bfe0f2e8", "fetched_at": "2026-08-28T04:05:08.490940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/omadahealth/LolliPin"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4251, "days_push": 1612, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}