{"adoption": {"forks": 214, "observed_at": "2026-08-28T04:06:06.765897+00:00", "stars": 2025}, "canonical_url": "https://ross.abutalabs.com/products/soter", "card": {"archived": false, "artifact_type": "library", "description": "A secure and quick biometric authentication standard and platform in Android held by Tencent.", "domain": ["mobile-development", "security", "fintech"], "enriched": true, "function": ["auth", "cryptography", "security", "sdk"], "health_score": 68, "homepage": null, "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["Tencent/soter"], "name": "Tencent/soter", "platform": ["jvm"], "pushed_at": "2025-11-26T07:43:14+00:00", "repo": "Tencent/soter", "stars": 2025, "tags": ["biometric-authentication", "fingerprint", "face-recognition", "mobile-payments", "tencent", "android"], "topics": ["fingerprint", "fingerprint-authentication", "authentication", "authentication-flow", "wechat-payment"], "urls": [], "use_cases": ["add fingerprint authentication to an android app", "implement biometric payment authorization like wechat pay", "verify user identity with fingerprint without collecting fingerprint data", "add face recognition login on supported android devices", "secure in-app transactions with biometric keys"], "what_it_is": "TENCENT SOTER is a biometric authentication standard and platform for Android, developed by Tencent and used in WeChat fingerprint payment. It enables trusted fingerprint and face authentication on Android devices without ever accessing the user's fingerprint pattern.", "when_to_avoid": ["targeting iOS or non-Android platforms", "your devices are not on the Soter supported model list", "you only need simple local biometric prompts covered by Android's built-in BiometricPrompt API"], "when_to_choose": ["building an Android app that needs hardware-backed biometric authentication", "you want WeChat-grade fingerprint payment security on supported devices", "you need a standard that works across many Android vendors without touching raw fingerprint data"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/soter", "repo": "Tencent/soter", "role": "main", "score": 53}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "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:06:06.765897+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.765897+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:45.271488+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "705426184f9491bf53616714821663389b9596164ea0cb049f526055448c172e", "fetched_at": "2026-08-28T04:06:06.765897+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Tencent/soter"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 54, "longevity": 100, "rhythm": 26}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3333, "days_push": 280, "days_rel": 280, "gap_med": 186.0, "n_releases_24m": 3}, "score": 53, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}