{"adoption": {"forks": 1055, "observed_at": "2026-08-28T04:11:29.287550+00:00", "stars": 19820}, "canonical_url": "https://ross.abutalabs.com/products/universal-android-debloater", "card": {"archived": false, "artifact_type": "application", "description": "Cross-platform GUI written in Rust using ADB to debloat non-rooted android devices. Improve your privacy, the security and battery life of your device.", "domain": ["android-tools", "privacy", "developer-tools", "self-hosted"], "enriched": true, "function": ["gui", "developer-tools", "security", "privacy"], "health_score": 20, "homepage": null, "language": "Rust", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["0x192/universal-android-debloater"], "name": "0x192/universal-android-debloater", "platform": ["cross-platform", "windows"], "pushed_at": "2024-08-02T16:16:12+00:00", "repo": "0x192/universal-android-debloater", "stars": 19820, "tags": ["android-debloater", "adb", "bloatware-removal", "rust", "non-rooted-devices", "battery-life", "linux", "macos", "android"], "topics": ["android", "privacy", "debloat", "adb"], "urls": [], "use_cases": ["remove bloatware from my android phone without root", "debloat samsung xiaomi oneplus system apps", "improve battery life by uninstalling carrier apps", "disable google and facebook preinstalled apps", "reduce attack surface on my android device", "manage system packages across multiple phones via adb", "export and restore my app removal selections"], "what_it_is": "A cross-platform desktop GUI application written in Rust that uses ADB to remove bloatware from non-rooted Android devices. It ships curated debloat lists for Google, OEM, carrier, and AOSP packages to improve privacy, security, and battery life.", "when_to_avoid": ["your device is rooted and you want true uninstallation of system apps", "you cannot enable USB debugging or access a computer", "you are unwilling to risk a bootloop requiring a factory reset", "you need a headless or scripted solution rather than a GUI"], "when_to_choose": ["you want to debloat a non-rooted Android device safely via ADB", "you want a GUI instead of typing ADB commands manually", "you want curated, documented package lists for your manufacturer or carrier", "you need multi-device or multi-user (work profile) support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/universal-android-debloater", "repo": "0x192/universal-android-debloater", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "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:11:29.287550+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:29.287550+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:59:25.894859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3186a6d6d4fcf2fabe28bcd2528ba12c0726f4e8ec14dbde9848a73fd6769cb", "fetched_at": "2026-08-28T04:11:29.287550+00:00", "kind": "readme", "missing": false, "url": "https://github.com/0x192/universal-android-debloater"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1791, "days_push": 761, "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}}