Whole Antidetect Catalog Donut Browser

Catalogue · Section 06 · Entry

Broprint.js

SEMI

Broprint.js is a TypeScript project catalogued in section 06 of this register. Small canvas- and audio-based visitor identifier. It reads SEMI: alive but slowing. The liveness field this register read is about 4 months old, which is past ACTIVE and well short of the band where the rubric stops recommending it.

https://github.com/Rajesh-Royal/Broprint.js


The fields this state was derived from

FieldValue at this printing
pushed_at 2026-04-25
archived false
latest_release —
license.spdx_id MIT
stargazers_count 602
http_status 200
fetched_at 2026-08-14T09:12:00Z
endpoint GET https://api.github.com/repos/Rajesh-Royal/Broprint.js
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 SEMI

pushed_at = 2026-04-25 — 111 days, inside the 90–365 day SEMI band.

Alive but slowing. Watch it.

Under the superseded first edition

ACTIVE SEMI
pushed_at = 2026-04-25 — 111 days, within the 180-day ACTIVE threshold.

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


What Broprint.js actually does

A small visitor identifier built on canvas and audio readings only, which makes it a compact demonstration of how few surfaces are needed to get a usable identifier.

What Broprint.js's maintenance signals mean

pushed_at reads 2026-04-25, which is 111 days before the field check and therefore inside the 90-to-365-day band this rubric calls SEMI. SEMI is the first edition's ACTIVE bucket after it was split in two, and the split exists because a quarter of silence in this field is a fact worth printing rather than absorbing.

A SEMI entry is not a warning and not a recommendation. It is a request to look: open the commit history and see whether the gap is a maintainer between jobs, a project that has reached a stable shape and stopped needing changes, or an abandonment that has not yet crossed a threshold. All three produce the same field value, and this register cannot tell them apart — it can only make sure you know the gap is 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 Broprint.js sits in this catalogue

Broprint.js is filed in section 06, fingerprinting libraries, whose scope is this: The collectors themselves — the code that reads a browser. Read these to know what is being asked of you. 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: CreepJS (source) (ACTIVE), detectIncognito (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 MIT, alongside the rest of the MIT entries in this register, and it sits with everything else currently marked SEMI. 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.

What to settle before you adopt Broprint.js

A two-surface fingerprint is easier to defeat and easier to understand, and it is the second property that makes it worth reading. For production identification it is doing much less than the larger libraries here.


Questions readers ask about Broprint.js

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

Is Broprint.js still maintained?

At the 2026-08-14 field check this register read pushed_at as 2026-04-25 and the archive flag as false, and the rubric in force turned those into SEMI. Alive but slowing. Watch it. The clause that fired is printed on this page, so you can check the arithmetic rather than take the word.

What else in this registry does the job Broprint.js does?

No substitution edge is declared for this entry, which means nobody has stated one rather than that none exists. The nearest comparison available is the rest of section 06, where everything is answering roughly the same question on the same printed fields.

What licence is Broprint.js under?

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

Why did the state recorded for Broprint.js change?

Because the rules changed, not because the world did. The same field data reads ACTIVE under the superseded first edition and SEMI under the edition in force. Both derivations are printed on this page, and the entry appears on this printing's errata leaf with the superseded value struck rather than deleted.


A collector is the clearest possible statement of what the other side is asking your browser, which makes this section the best place to decide what you actually need to answer. Donut Browser answers it in the engine rather than in the page: the Wayfern Chromium fork applies overrides over CDP, so a library reading a value gets it from the browser instead of from a script that patched the getter a moment earlier.

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.