---
title: "CloakBrowser review: 87 patches and noise switched on"
description: "CloakBrowser reviewed for AI agents: what its 87 Chromium patches cover, why noise and a new seed per launch are on by default, and where Playwright remains."
canonical: "https://scalebrowser.net/blog/cloakbrowser"
last_modified: "2026-09-25"
published: "2026-09-25"
author: "davide"
category: "stealth-tools"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://scalebrowser.net/llms.txt
> Use this file to discover all available pages before exploring further.

# CloakBrowser review: 87 patches and noise switched on

> CloakBrowser reviewed for AI agents: what its 87 Chromium patches cover, why noise and a new seed per launch are on by default, and where Playwright remains.

CloakBrowser went from a repository created in February 2026 to 31,674 GitHub stars by September, and it did so with a promise developers want to hear: keep your Playwright code, swap the browser, and the detection goes away. We read its README, its defaults and its own test table on 24 September 2026, and set them next to what we measured on the same axes.

## What is CloakBrowser?

CloakBrowser is a patched Chromium build with Python and JavaScript wrappers that its [README](https://github.com/CloakHQ/CloakBrowser) calls a "Drop-in Playwright/Puppeteer replacement for Python and JavaScript". The wrapper launches the patched binary with its own arguments and returns an ordinary Playwright `Browser` object, so existing code keeps its API. The repository is MIT licensed and belongs to an organisation account. The newest build is free with a GitHub sign-in for one concurrent session, larger concurrency is a paid Pro plan, and an older Chromium 146 build stays free on the releases page.

## What do its 87 patches cover?

The 87 patches cover most of the surfaces a page reads through JavaScript, plus some below it. The README lists "canvas, WebGL, audio, fonts, GPU, screen, WebRTC, network timing, automation signals, CDP input behavior", and its test table claims a TLS fingerprint "Identical to Chrome". Two things about that table deserve credit: it runs every check against stock Playwright as a control, and it names the detection service and the build for each row.

One row needs context. The table reports a [reCAPTCHA v3 score](/blog/recaptcha-v3) of 0.9 against 0.1 for stock Playwright. On a fresh site key with no visitor history, reCAPTCHA v3 returned a constant 0.9 to every browser we tried, including an untouched Chrome, so that row says little unless the key has a history.

## Why is noise on by default a problem?

[Noise on by default](/blog/noise-is-the-tell) is a problem because an added offset produces values no real device draws, and a checker can see that. CloakBrowser's own troubleshooting table lists "Noise injection detected by ML" as a known cause of being flagged, with `--fingerprint-noise=false` as the remedy, so the switch sits in the table of problems rather than in the defaults. We measured the same thing on our own engine before we removed our noise.

<Evidence source="CloakBrowser README read 24 September 2026; Scalebrowser engine measurements, July and September 2026">

| CloakBrowser default | What we measured on that axis | Result |
| --- | --- | --- |
| Canvas, WebGL and audio noise on | canvas readback with a seeded offset, 5 profiles on one machine | 5 of 5 distinct hashes, flagged as manipulated |
| A fresh random seed at every launch | a returning profile with a new device each time | not measured; the README itself warns about it |
| On Linux, the wrapper presents Windows | our own Windows persona over a Linux engine | removed on 11 September 2026 as a contradiction |

</Evidence>

The second row is CloakBrowser's own warning: its README advises a fixed seed when revisiting a site, because "a random seed makes every session look like a different device". The seed exists as `--fingerprint=seed`; the default is the random one.

### What does the Linux wrapper do?

On Linux the wrapper passes `--fingerprint-platform=windows`, so a browser running on Linux reports itself as a Windows desktop. The README is candid about the cost: a Windows browser without Windows fonts "is itself a bot tell", and the warning about missing fonts can be silenced "if you accept the tradeoff". We ran the same idea ourselves and removed it: a Windows persona over our Linux engine showed a Direct3D renderer string over OpenGL or Vulkan pixels, Linux text rasterisation and Linux emoji under a Windows user agent. Since then a profile only starts on the operating system its persona names.

### Why patch Chromium but keep Playwright?

CloakBrowser patches Chromium thoroughly and keeps Playwright as the way to drive it, and Ian L. Paterson's [benchmark of 7 tools against 31 targets](https://ianlpaterson.com/blog/anti-detect-browser-benchmark-patchright-nodriver-curl-cffi/) names that control plane as the limit: "Playwright forks fail regardless of patch quality, and defeating that layer takes a control plane that is not Playwright." CloakBrowser reached 26 of 31 targets there, 3 gated and 2 blocked, and only [nodriver](/blog/nodriver), which drives Chrome over CDP without Playwright, had no block at all. The README makes a related point about the other wrapper: it recommends Playwright over Puppeteer for reCAPTCHA Enterprise, because "Puppeteer's CDP protocol leaks automation signals". Our comparison of seven [stealth tools for automation](/blog/stealth-browser) puts the control plane first for the same reason.

## So which should you pick?

| Situation | Pick | Why |
| --- | --- | --- |
| Existing Playwright code, one-off runs | CloakBrowser | one-line swap, broad source-level patches |
| The same accounts every day | CloakBrowser with a fixed seed and noise off | the defaults give a new, noisy device per launch |
| Linux servers presenting Windows | a machine that runs the OS it claims | fonts, text and GPU output reveal the real one |
| Targets that fingerprint the automation protocol | a driver that is not Playwright | the benchmark's cliff sits in the control plane |

Our verdict: CloakBrowser is a thoroughly patched Chromium build that publishes its test table with a control column, and for a one-off job it is a one-line improvement over stock Playwright. For an agent that keeps accounts, change two defaults on day one, pass a fixed seed and turn noise off, and run it on the operating system it claims. The [migration guide for Playwright and Puppeteer](/docs/migrate/playwright) shows how the same code attaches to a profile over CDP instead.

<ProductMention />
