{"adoption": {"forks": 362, "observed_at": "2026-08-28T04:09:43.211803+00:00", "stars": 6412}, "canonical_url": "https://ross.abutalabs.com/products/safetynet-fix", "card": {"archived": false, "artifact_type": "plugin", "description": "Google SafetyNet attestation workarounds for Magisk", "domain": ["android-tools", "security", "privacy"], "enriched": true, "function": ["security", "plugin-system"], "health_score": 20, "homepage": null, "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["kdrag0n/safetynet-fix"], "name": "kdrag0n/safetynet-fix", "platform": [], "pushed_at": "2023-06-22T20:10:58+00:00", "repo": "kdrag0n/safetynet-fix", "stars": 6412, "tags": ["magisk-module", "safetynet", "play-integrity", "zygisk", "root-detection-bypass", "device-attestation", "android"], "topics": ["android", "safetynet", "magisk", "hacktoberfest"], "urls": [], "use_cases": ["pass SafetyNet attestation on a rooted Android device", "pass Google Play Integrity checks with Magisk", "make banking apps work on a rooted phone", "fix CTS profile mismatch on custom ROMs", "spoof device certification on ROMs without GMS certification"], "what_it_is": "A Magisk module (Zygisk-based, with an older Riru version) that works around Google's SafetyNet and Play Integrity hardware attestation checks on rooted Android devices. It injects fixes so devices can pass CTS profile attestation, supporting Android up to 13 including OEM skins like One UI and MIUI.", "when_to_avoid": ["you don't root your device or use Magisk", "you need a maintained solution for Android versions beyond 13 or current Play Integrity hardware attestation enforcement", "you want an officially supported device certification method"], "when_to_choose": ["you run Magisk with Zygisk and need to pass SafetyNet or Play Integrity", "you use a custom ROM or uncertified device that fails basic CTS profile attestation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/safetynet-fix", "repo": "kdrag0n/safetynet-fix", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "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:09:43.211803+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.211803+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:44:56.059129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d767225d253ebb8915d9d9b88f1d8684343157134176bff4161aaf4472d4e3d9", "fetched_at": "2026-08-28T04:09:43.211803+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kdrag0n/safetynet-fix"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2058, "days_push": 1168, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}