{"adoption": {"forks": 110, "observed_at": "2026-08-28T04:06:24.220485+00:00", "stars": 2192}, "canonical_url": "https://ross.abutalabs.com/products/privacy-redirect", "card": {"archived": true, "artifact_type": "plugin", "description": "A simple web extension that redirects Twitter, YouTube, Instagram & Google Maps requests to privacy friendly alternatives.", "domain": ["privacy", "browser-extensions", "web-development"], "enriched": true, "function": ["privacy", "security"], "health_score": 10, "homepage": null, "language": "JavaScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["SimonBrazell/privacy-redirect"], "name": "SimonBrazell/privacy-redirect", "platform": ["browser-extension", "browser"], "pushed_at": "2023-09-05T18:05:25+00:00", "repo": "SimonBrazell/privacy-redirect", "stars": 2192, "tags": ["webextension", "redirect", "nitter", "invidious", "frontends", "tracking-prevention"], "topics": ["nitter", "invidious", "bibliogram", "privacy", "privacy-redirect", "twitter", "youtube", "instagram", "google-maps", "openstreetmap", "webextension", "firefox", "chromium", "privacy-friendly-alternatives"], "urls": [], "use_cases": ["stop twitter from tracking me in the browser", "redirect youtube to invidious automatically", "browse instagram without an account or tracking", "replace google maps with openstreetmap links", "use a private google search alternative", "redirect reddit to a privacy-friendly frontend"], "what_it_is": "A browser extension that redirects requests to Twitter, YouTube, Instagram, Google Maps, Reddit, Google Search, and Google Translate to privacy-friendly alternative frontends like Nitter, Invidious, and OpenStreetMap. It supports toggling redirects and configuring custom instances.", "when_to_avoid": ["you need a full ad blocker or tracker-blocking solution rather than URL redirection", "you rely on features of the original sites that alternative frontends lack", "you need actively maintained support, as development has slowed and some frontends like Bibliogram are defunct"], "when_to_choose": ["you want automatic redirection to privacy-respecting frontends for major sites", "you use Firefox, Chrome, or Edge and want a lightweight set-and-forget extension", "you need configurable custom instances for Nitter, Invidious, or similar services"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/privacy-redirect", "repo": "SimonBrazell/privacy-redirect", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "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:24.220485+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:24.220485+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:47:25.915259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0876f25f1c8828bb6a5f489253a733f50b743a64c70c2afc431de85509757ec5", "fetched_at": "2026-08-28T04:06:24.220485+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SimonBrazell/privacy-redirect"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2539, "days_push": 1093, "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}}