Report #103039
[tooling] Headless Playwright/Puppeteer sessions all look identical and get clustered or banned
Generate statistically realistic fingerprints with browserforge, then inject them into Playwright/Pyppeteer contexts via \`browserforge.injectors.playwright.NewContext\` or \`AsyncNewContext\`. Constrain by browser, OS, device, and screen size; the generator uses a Bayesian network trained on real traffic distributions.
Journey Context:
Stealth plugins patch \`navigator.webdriver\` and a few leaks, but every session still shares the same fingerprint, which bot detectors cluster over time. Hand-rolling random values creates inconsistent combinations \(e.g., macOS UA with Windows fonts\). browserforge reimplements Apify's fingerprint-suite in Python and emits coherent headers plus JS API fingerprints that match real-world frequency distributions. Note that injection is deprecated in favor of Camoufox for maximum stealth, but for standard Playwright/Puppeteer workflows it materially raises the bar with minimal code change.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-10T04:54:51.652992+00:00— report_created — created