{"adoption": {"forks": 156, "observed_at": "2026-08-28T04:06:38.659011+00:00", "stars": 2340}, "canonical_url": "https://ross.abutalabs.com/products/tcno-acc-switcher", "card": {"archived": false, "artifact_type": "application", "description": "A Super-fast account switcher for Steam, Battle.net, Epic Games, Origin, Riot, Ubisoft and many others!", "domain": ["gaming-tools", "developer-tools", "windows"], "enriched": true, "function": ["gui", "developer-tools"], "health_score": 100, "homepage": null, "language": "Go", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["TCNOco/TcNo-Acc-Switcher"], "name": "TCNOco/TcNo-Acc-Switcher", "platform": ["windows"], "pushed_at": "2026-08-26T21:42:48+00:00", "repo": "TCNOco/TcNo-Acc-Switcher", "stars": 2340, "tags": ["account-switcher", "steam", "epic-games", "battlenet", "riot-games", "ubisoft", "discord", "gaming-launchers", "steam-guard", "desktop"], "topics": ["tcno-account-switcher", "account-switcher", "steam", "origin", "battlenet", "ubisoft", "riot", "discord", "epic-games", "discordapp", "ea-desktop", "escape-from-tarkov", "geforce-now", "genshin-impact", "valorant", "league-of-legends", "legends-of-runeterra", "ubisoft-connect"], "urls": [], "use_cases": ["switch between multiple Steam accounts quickly", "swap Battle.net accounts without re-entering credentials", "manage several Epic Games or Ubisoft accounts", "switch Riot Games accounts for League of Legends or Valorant", "back up Steam Guard authenticator secrets", "avoid logging out and back into game launchers repeatedly"], "what_it_is": "TcNo Account Switcher is a fast, open-source desktop application for switching accounts across gaming platforms like Steam, Battle.net, Epic Games, Origin, Riot Games, and Ubisoft. It works by swapping files and registry keys rather than storing passwords, and includes an optional encrypted Steam Guard authenticator feature.", "when_to_avoid": ["you need account switching on macOS or Linux", "you want to manage accounts for platforms not on its supported list", "you need a mobile or web-based account manager"], "when_to_choose": ["you juggle multiple accounts on Steam, Battle.net, Epic, Riot, or Ubisoft", "you want a switcher that never stores passwords", "you need fast account swapping without closing and restarting launchers manually", "you want an open-source, self-contained Windows tool"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tcno-acc-switcher", "repo": "TCNOco/TcNo-Acc-Switcher", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "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:38.659011+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:38.659011+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:37:24.683730+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ebf12267e3e5318533c41be7b37169aea8cc09427cce2899586f4f6f869170ff", "fetched_at": "2026-08-28T04:06:38.659011+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TCNOco/TcNo-Acc-Switcher"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 57}, "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": 2496, "days_push": 7, "days_rel": 286, "gap_med": 11, "n_releases_24m": 2}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}