Whole Antidetect Catalog Donut Browser

Catalogue · Section 05 · Entry

OpenWPM

ACTIVE

OpenWPM is a Python project catalogued in section 05 of this register. The web-measurement platform most of the papers in this section were produced with. It reads ACTIVE at the last field check — its most recent push was 8 days before that check, inside the 90-day threshold the rubric in force prints.

https://github.com/openwpm/OpenWPM


The fields this state was derived from

FieldValue at this printing
pushed_at 2026-08-06
archived false
latest_release —
license.spdx_id NOASSERTION
stargazers_count 1400
http_status 200
fetched_at 2026-08-14T09:12:00Z
endpoint GET https://api.github.com/repos/openwpm/OpenWPM
rubric_edition 2nd, in force since 2026-08-14
unauthenticated · 60 req/hr

A live read does not change what is printed above it. The site records that you ran it; what GitHub returned is not kept. The printed state moves only when the register is swept and a new printing is issued. raw JSON

Why it reads ACTIVE

pushed_at = 2026-08-06 — 8 days, within the 90-day ACTIVE threshold.

Shipping. Safe to build on today.

Under the superseded first edition

Unchanged: the first edition read ACTIVE from the same fields.

The rubric in force · The superseded first edition · Errata leaf


What OpenWPM actually does

The web-measurement platform behind a large share of the papers in this section: an instrumented browser plus a crawl harness plus a schema for the data it collects.

What OpenWPM's maintenance signals mean

The liveness field here is pushed_at, read as 2026-08-06 against a field check 8 days later. That is inside 90 days, and 90 days is where the second edition of the rubric put ACTIVE after moving it down from the first edition's 180.

The reason for the move is worth stating, because it is the kind of threshold that looks arbitrary until you know what it is measuring against: detection changes on a shorter cycle than half a year, so a six-month-old evasion is not a current one. What a recent push does not tell you is what was in it. A commit landing on a branch is not a release, not a fix, and not a test — it is evidence that somebody is still there.

No release was captured for this entry, which this register records as unknown rather than as none. The distinction matters more than it looks: a project with no tags and a project whose tags the sweep failed to read produce the same blank cell, and printing them as the same fact would be the register asserting something it has not measured.

Where OpenWPM sits in this catalogue

OpenWPM is filed in section 05, academic papers & technical writeups, whose scope is this: The peer-reviewed and specification-grade literature this field is built on, preferring open mirrors over publishers that block automated clients. An entry sits in exactly one section here. Where a project could defensibly go in two, it is placed where a reader would look for it first rather than where it fits most tidily, and that is an editorial decision rather than a measured one.

Filed beside it in the same section: Akamai — Passive Fingerprinting of HTTP/2 Clients (ACTIVE), TUM/LRZ — Fingerprinting HTTP/2 (ACTIVE), Antoine Vastel's blog (ACTIVE). Comparing an entry against its own section-mates is more informative than comparing it against the catalogue as a whole, because everything in a section is answering roughly the same question and the differences left over are the ones that matter.

It is published under NOASSERTION, alongside the rest of the NOASSERTION entries in this register, and it sits with everything else currently marked ACTIVE. Read those two facets together: a permissively licensed project that stopped shipping is not a safer dependency than a copyleft one that did not, and a filter on one axis alone will tell you the wrong thing.

Substitutes for the same job, with no claim that either is better: Englehardt & Narayanan — 1-Million-Site Measurement. The alternative relation is symmetric and carries no ranking, because this register publishes no ranking of any kind. The full OpenWPM comparison table sets all of them side by side on licence, push date, release cadence and state.

What to settle before you adopt OpenWPM

It is research infrastructure, and its operational assumptions — scale, storage, browser version pinning — are those of a research crawl rather than a production scraper. Its licence resolves to NOASSERTION and is worth reading directly.


See also

Relation Entry State Last push
alternative to Englehardt & Narayanan — 1-Million-Site Measurement ACTIVE —

Full comparison of OpenWPM and its alternatives


Questions readers ask about OpenWPM

Answered from this entry's own fields, at the field check printed above and at no other instant.

Is OpenWPM still maintained?

At the 2026-08-14 field check this register read pushed_at as 2026-08-06 and the archive flag as false, and the rubric in force turned those into ACTIVE. Shipping. Safe to build on today. The clause that fired is printed on this page, so you can check the arithmetic rather than take the word.

What are the alternatives to OpenWPM?

Englehardt & Narayanan — 1-Million-Site Measurement are recorded as substitutes for the same job. The relation carries no ranking — this register publishes none — so read them side by side on the comparison table, which prints licence, last push, release cadence and state for each.

What licence is OpenWPM under?

NOASSERTION, read from the repository's own licence metadata at the field check rather than from a README badge. Other NOASSERTION entries are grouped together, and the no-licence-declared group is worth a look before you assume any project here carries a grant.

Where does this status come from?

From one sweep, recorded with the instant it ran. The raw fields, the endpoint they were read from, the fetch timestamp and the rubric edition in force are all printed on this page, and the same row is in the CC0 data files in JSON and CSV. Recompute the state from those columns and this page must agree with you; where it does not, the register is wrong.


The literature in section 05 keeps arriving at the same finding from different directions: what gets a browser caught is not rarity but contradiction between its own signals. Donut Browser is built around that result rather than around the older one — the Wayfern fork spoofs at engine level over CDP so the values a page reads are coherent with each other, and a pre-launch gate refuses to start a profile whose proxy geography disagrees with its fingerprint.

Download Donut Browser

curl -fsSL https://donutbrowser.com/install.sh | sh

macOS (DMG, Homebrew cask donut), Windows (installer and portable), Linux (deb, rpm, AppImage, with APT and RPM repositories at repo.donutbrowser.com), and a Nix flake. Desktop only — there is no mobile build target. Ten shipped languages. Source, AGPL-3.0 · its own entry, judged by the same rubric · the keepers' disclosure.