{"adoption": {"forks": 215, "observed_at": "2026-08-28T04:05:20.876508+00:00", "stars": 1677}, "canonical_url": "https://ross.abutalabs.com/products/deceive", "card": {"archived": false, "artifact_type": "application", "description": "🎩 Appear offline for League of Legends, VALORANT, and Legends of Runeterra.", "domain": ["gaming-tools", "privacy", "windows"], "enriched": true, "function": ["proxy", "networking", "gui"], "health_score": 93, "homepage": null, "language": "C#", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["molenzwiebel/Deceive"], "name": "molenzwiebel/Deceive", "platform": ["windows"], "pushed_at": "2026-07-03T13:44:32+00:00", "repo": "molenzwiebel/Deceive", "stars": 1677, "tags": ["league-of-legends", "valorant", "legends-of-runeterra", "riot-games", "appear-offline", "chat-presence", "tray-application", "desktop"], "topics": ["lol", "league-of-legends", "leagueoflegends", "offline", "mobile", "league", "friends", "game", "deceive", "legends-of-runeterra", "lor", "valorant"], "urls": [], "use_cases": ["appear offline in League of Legends", "hide my online status in VALORANT", "play Legends of Runeterra without friends seeing me online", "queue with friends while showing as offline", "switch chat presence between online, offline, and mobile", "block friends from inviting me while still inviting them"], "what_it_is": "Deceive is a Windows tray application that lets players appear offline in League of Legends, VALORANT, and Legends of Runeterra by sitting between the Riot Client and its chat servers and filtering presence updates. It preserves full functionality such as invites, lobbies, and champion select communication while hiding your online status.", "when_to_avoid": ["you are not on Windows", "you need something officially supported by Riot", "you are on a restricted network that cannot resolve the required local domain or edit the hosts file"], "when_to_choose": ["you play Riot games and want to appear offline without losing any functionality", "you want a simple tray icon to toggle presence status", "you want a tool Riot has confirmed will not get you banned"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/deceive", "repo": "molenzwiebel/Deceive", "role": "main", "score": 86}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "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:05:20.876508+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.876508+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:41:37.540616+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "742252954d682b34fb9d933848feb25782006cf5d1db191d80ced2960c5ed1e7", "fetched_at": "2026-08-28T04:05:20.876508+00:00", "kind": "readme", "missing": false, "url": "https://github.com/molenzwiebel/Deceive"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 90, "longevity": 100, "rhythm": 72}, "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": 3437, "days_push": 61, "days_rel": 108, "gap_med": 57.0, "n_releases_24m": 5}, "score": 86, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}