{"adoption": {"forks": 517, "observed_at": "2026-08-28T04:06:13.505844+00:00", "stars": 2099}, "canonical_url": "https://ross.abutalabs.com/products/xprivacy", "card": {"archived": true, "artifact_type": "application", "description": "XPrivacy - The ultimate, yet easy to use, privacy manager", "domain": ["privacy", "android-tools", "security"], "enriched": true, "function": ["security", "privacy"], "health_score": 10, "homepage": "http://forum.xda-developers.com/xposed/modules/xprivacy-ultimate-android-privacy-app-t2320783", "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "abandoned", "member_repos": ["M66B/XPrivacy"], "name": "M66B/XPrivacy", "platform": [], "pushed_at": "2019-09-05T19:16:53+00:00", "repo": "M66B/XPrivacy", "stars": 2099, "tags": ["xposed-module", "privacy-manager", "app-restrictions", "fake-data", "discontinued", "android"], "topics": [], "urls": [], "use_cases": ["prevent apps from leaking privacy-sensitive data", "restrict app access to contacts and location", "feed apps fake location data", "block newly installed apps from accessing personal data by default", "manage per-app privacy restrictions on rooted Android"], "what_it_is": "XPrivacy is an Xposed-based privacy manager for Android that restricts which data categories (contacts, location, etc.) apps can access, feeding them fake or empty data instead of revoking permissions. The project is explicitly no longer maintained; its successor is XPrivacyLua.", "when_to_avoid": ["you use Android 6.0 or later - use XPrivacyLua instead", "you need a maintained or supported tool", "you have a non-rooted device without Xposed"], "when_to_choose": ["you run an old Android version with Xposed and need per-app data restrictions", "you want apps to keep working while receiving fake or empty data"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xprivacy", "repo": "M66B/XPrivacy", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "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:13.505844+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.505844+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:54:21.682337+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "307896004c4d2101f0dfa8f4c120d1d33e70a5bc07aa3067dda09f4162d1b8a5", "fetched_at": "2026-08-28T04:06:13.505844+00:00", "kind": "readme", "missing": false, "url": "https://github.com/M66B/XPrivacy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4847, "days_push": 2554, "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}}