{"adoption": {"forks": 91, "observed_at": "2026-08-28T04:06:23.909463+00:00", "stars": 2190}, "canonical_url": "https://ross.abutalabs.com/products/anonymous_github", "card": {"archived": false, "artifact_type": "service", "description": "Anonymous Github is a proxy server to support anonymous browsing of Github repositories for open-science code and data.", "domain": ["developer-tools", "privacy", "version-control"], "enriched": true, "function": ["proxy", "security", "privacy", "http-server", "cli", "self-hosted"], "health_score": 80, "homepage": "https://anonymous.4open.science/", "language": "TypeScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["tdurieux/anonymous_github"], "name": "tdurieux/anonymous_github", "platform": ["self-hosted", "cli", "cross-platform"], "pushed_at": "2026-08-26T19:47:23+00:00", "repo": "tdurieux/anonymous_github", "stars": 2190, "tags": ["anonymization", "double-blind-review", "github-proxy", "open-science", "academic-publishing", "artifact-evaluation", "peer-review", "nodejs", "web-server", "docker"], "topics": ["anonymous", "open-science", "double-blind", "double-anonymous", "peer-review"], "urls": [], "use_cases": ["share code anonymously for double-blind peer review", "anonymize a github repository for paper submission", "hide author identity in code artifact for reviewers", "generate anonymized zip of a repository locally", "self-host an anonymized repository proxy for a conference", "anonymize file contents and names before sharing research data"], "what_it_is": "Anonymous GitHub is a proxy server that anonymizes GitHub repositories (owner, org, repo name, file names, and file contents) so researchers can share code and data for double-anonymous peer review. It is available as a free public instance, a CLI that produces anonymized zips, and a self-hostable Docker deployment.", "when_to_avoid": ["you need strong guarantees against de-anonymization beyond term replacement", "you want to anonymize non-GitHub sources like GitLab or zip archives", "you need fully offline anonymization without any server"], "when_to_choose": ["you need to submit code or data for double-anonymous peer review", "you want a shareable anonymized link to a GitHub repository without manual scrubbing", "you want to run your own anonymization proxy for a venue or lab"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/anonymous_github", "repo": "tdurieux/anonymous_github", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "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:23.909463+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:23.909463+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:47:41.900861+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c40ea9f2d1a1974aa893fdd764f794242b4be0b0ddf004e2e44cf95c6c579329", "fetched_at": "2026-08-28T04:06:23.909463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tdurieux/anonymous_github"}, {"content_hash": "7bb64ad75f480459abae6560fa833fa1de0358250ed60d340a2ed6fd489d966f", "fetched_at": "2026-08-29T10:28:09.725313+00:00", "kind": "homepage", "missing": false, "url": "https://anonymous.4open.science/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3261, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}