BotBrowser Knowledge Hub — Page 12
Browse page 12 of BotBrowser articles on browser fingerprint protection, privacy signals, proxy consistency, and deployment.
fingerprint
Edge-Layer Rules a Page Script Cannot Evaluate
A public ruleset splits 126 rules into 95 a page can check and 31 that need the network edge. Real handshakes show why the heaviest ones sit on the far side.
Read article →fingerprint
Intl.NumberFormat: Rounding Mode and Sign Display
One probe on number formatting: which rounding mode is the default, what each mode does at a .5 boundary, and how a sign or a trailing zero quietly disappears.
Read article →fingerprint
Iterator Helpers: Laziness, Single Use and Early Stop
One probe on iterator helpers: when each helper pulls a value, why the result cannot be iterated twice, and how take stops a source that drop must walk.
Read article →fingerprint
Sparse Array Holes and What Each Method Does With Them
One probe on a single hole: which methods skip it, which visit it, what it becomes when materialised, and why indexOf and includes disagree about it.
Read article →fingerprint
Text Measurement Fingerprinting: Sub-Pixel Tracking
Canvas measureText() exposes sub-pixel metrics that vary with fonts and browser setups. Compare this signal with Canvas and understand BotBrowser profile limits.
Read article →fingerprint
What Public Detector Suites Actually Test
Two public suites publish 49 tests between them. Reading their own catalogues shows 11 read the connection, and four shared names are classified differently.
Read article →fingerprint
Array Sort and Comparators: A Function You Can Get Wrong
Sort fixed arrays: the default string order, in-place mutation, a stable sort, where undefined and NaN land, how a bad comparator yields a wrong order, and subtraction overflow.
Read article →fingerprint
ArrayBuffer and TypedArray: One Buffer, Many Views
Read one ArrayBuffer as Uint8Array, Uint32Array and DataView: byte versus element length, why slice copies and subarray aliases, byte order, and how a transfer detaches the source.
Read article →fingerprint
BotD Detector Registry: Which Checks Actually Run
Read the pinned FingerprintJS BotD registry and run its detectors over explicit component states to see which automation checks fire, which stay silent, and which fail open.
Read article →fingerprint
btoa and atob: the Latin-1 boundary
Run btoa and atob over accented, CJK and emoji strings to see exactly where each throws, what atob returns, whether padding is optional, and which alphabet is rejected.
Read article →fingerprint
Intl.Collator: Locale Order Is Not Code-Unit Order
One probe on fixed lists: how a locale comparison differs from a code-unit sort, how numeric, sensitivity and caseFirst change the outcome, and what resolvedOptions reports.
Read article →fingerprint
Crypto-JS Random Source: Which Branch Your Build Uses
Read crypto-js 4.2.0 and 3.1.2 source, then measure which entropy call each version makes, how many calls a request costs, and what a stubbed crypto object can change.
Read article →