{"adoption": {"forks": 158, "observed_at": "2026-08-28T04:09:15.736723+00:00", "stars": 5334}, "canonical_url": "https://ross.abutalabs.com/products/bootloader-unlock-wall-of-shame", "card": {"archived": false, "artifact_type": "dataset", "description": "Keeping track of companies that \"care about your data 🥺\"", "domain": ["android-tools", "privacy", "hardware", "developer-tools"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 80, "homepage": null, "language": null, "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["zenfyrdev/bootloader-unlock-wall-of-shame"], "name": "zenfyrdev/bootloader-unlock-wall-of-shame", "platform": ["cross-platform"], "pushed_at": "2026-08-24T16:46:38+00:00", "repo": "zenfyrdev/bootloader-unlock-wall-of-shame", "stars": 5334, "tags": ["bootloader-unlock", "wall-of-shame", "android-modding", "consumer-rights", "curated-list", "custom-rom", "right-to-repair", "android"], "topics": ["android", "bootloader", "bootloader-unlock", "honor", "huawei", "iqoo", "nokia", "oppo", "realme", "samsung", "vivo"], "urls": [], "use_cases": ["check if a phone brand allows bootloader unlocking before buying", "find workarounds to unlock the bootloader on Samsung or Huawei devices", "research which manufacturers restrict custom ROM flashing", "contribute unlock methods or policy details for specific brands", "track companies that limit sideloading and device ownership rights"], "what_it_is": "A community-maintained curated list tracking which phone manufacturers block or restrict bootloader unlocking on their Android devices, organized by brand with workarounds where available. It serves as an advocacy and reference resource for users who want to root, flash custom ROMs, or otherwise control their own hardware.", "when_to_avoid": ["you need a software tool that performs unlocking rather than documentation", "you need official or legally authoritative information about device warranties", "you are looking for iOS or general jailbreak tooling"], "when_to_choose": ["you want an up-to-date, community-maintained reference on bootloader unlock policies", "you are deciding which Android device to buy for modding or custom ROMs", "you need brand-specific unlock instructions and caveats"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bootloader-unlock-wall-of-shame", "repo": "zenfyrdev/bootloader-unlock-wall-of-shame", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "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:15.736723+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:15.736723+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:58:52.029525+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "27bed28daa7a367f5b8511d886e8ecdec160f7e2b2a087bd5948ae327b5baf15", "fetched_at": "2026-08-28T04:09:15.736723+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 84, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 1180, "days_push": 9, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}