that passes every bot detection test
Fingerprints modified at the C++ source level. Antibot systems score it as a normal browser — because it is a normal browser.
Cloudflare Turnstile, reCAPTCHA v3, FingerprintJS, BrowserScan — tested against 30+ detection sites.
Same API, same code — just swap the import. 3 lines of code, 30 seconds to unblock.
Human-like mouse curves, keyboard timing, and scroll patterns. One flag, behavioral detection passes.
Free or Pro based on your license. pip install cloakbrowser or npm install cloakbrowser — zero config.
Human-level, server-verified score. Prevent CAPTCHAs from appearing instead of solving them.
# Quick test with Docker
docker run --rm cloakhq/cloakbrowser cloaktest
from cloakbrowser import launch
browser = launch()
page = browser.new_page()
page.goto("https://example.com")
browser.close()
import { launch } from 'cloakbrowser';
const browser = await launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();
| Feature | Playwright | playwright-stealth | undetected-chromedriver | CloakBrowser |
|---|---|---|---|---|
| reCAPTCHA v3 Score | 0.1 (bot) | 0.3-0.5 | 0.3-0.7 | 0.9 (human) |
| Cloudflare Turnstile | ✗ Fail | ✗ Sometimes | ✗ Sometimes | ✓ Pass |
| Headless Detection | ✗ Flagged | ✗ Flagged | ✗ Flagged | ✓ Passes |
| Patch Level | None | JS injection | Config patches | C++ (Chromium) |
| Survives Chrome Updates | N/A | ✗ Breaks often | ✗ Breaks often | ✓ Yes |
| Maintained | Yes | ✗ Stale | ✗ Stale | ✓ Active |
"CloakBrowser saved our scraping project. We were blocked by every major anti-bot service until we found this. The reCAPTCHA v3 score of 0.9 is incredible!"
"The 3-line replacement from Playwright to CloakBrowser was seamless. Our automation now passes even the most sophisticated detection systems."
"I've tried every stealth browser on the market. CloakBrowser is the only one that actually works consistently. The humanize feature makes it indistinguishable from a real user."
Everything you need to know about CloakBrowser
CloakBrowser is a stealth Chromium browser that passes every bot detection test. It's a drop-in replacement for Playwright and Puppeteer with source-level fingerprint patches compiled into the Chromium binary. Instead of using JavaScript injections or config tweaks, we modify the C++ source code to create a browser that appears completely human to detection systems.
CloakBrowser works by patching Chromium's source code at the C++ level. We modify 87 different fingerprinting signals including canvas, WebGL, audio, fonts, GPU properties, WebRTC, network timing, and automation behavior. These patches are compiled directly into the binary, making them undetectable by bot detection systems. When you use CloakBrowser, websites see a real browser because it is a real browser with modified fingerprints.
Unlike other stealth browsers that use JavaScript injections or config-level patches, CloakBrowser modifies the Chromium source code at the C++ level. This makes our patches undetectable and ensures they survive browser updates. Most alternatives break frequently with each Chrome release, but CloakBrowser's source-level patches are compiled into the binary, making them permanent until the next major Chromium update.
CloakBrowser supports multiple platforms with both free and Pro versions:
The wrapper automatically downloads the correct binary for your platform.
The humanize feature makes all mouse, keyboard, and scroll interactions behave like a real user. When enabled, it:
You can customize the behavior with presets like "careful" (slower movements) or fine-tune individual parameters like typing speed and mistype chance.
CloakBrowser supports both HTTP and SOCKS5 proxies. Here's how to use them:
# Python
browser = launch(proxy="http://user:pass@proxy:8080")
browser = launch(proxy="socks5://user:pass@proxy:1080")
# JavaScript
const browser = await launch({
proxy: 'http://user:pass@proxy:8080'
});
const browser = await launch({
proxy: 'socks5://user:pass@proxy:1080'
});
For best results with anti-bot sites, combine with geoip=True to automatically match timezone and locale to your proxy's exit IP, and humanize=True for realistic behavior.
Yes! CloakBrowser is designed as a drop-in replacement for both Playwright and Puppeteer. The API is identical, so you can switch by just changing the import:
# Playwright
# From:
from playwright.sync_api import sync_playwright
pw = sync_playwright().start()
browser = pw.chromium.launch()
# To:
from cloakbrowser import launch
browser = launch()
All existing Playwright methods like new_page(), goto(), click(), etc. work exactly the same. For Puppeteer, use import { launch } from 'cloakbrowser/puppeteer'.
Absolutely! CloakBrowser works seamlessly with popular automation frameworks:
CloakBrowser can be used either by launching the binary directly or by connecting via Chrome DevTools Protocol (CDP) for existing frameworks.
CloakBrowser supports persistent sessions using launch_persistent_context(). This maintains cookies, localStorage, and cache across browser instances:
# Python
from cloakbrowser import launch_persistent_context
# First run creates the profile
ctx = launch_persistent_context("./my-profile")
page = ctx.new_page()
page.goto("https://example.com")
ctx.close()
# Subsequent runs restore the session
ctx = launch_persistent_context("./my-profile")
page = ctx.new_page()
# You're still logged in!
This is perfect for maintaining login states, building browsing history, and avoiding incognito detection.
If you're still getting blocked on aggressive sites, try these advanced configurations:
# Maximum stealth configuration
browser = launch(
proxy="http://your-residential-proxy:port", # Residential IP
geoip=True, # Match timezone/locale to proxy
headless=False, # Run in headed mode
humanize=True, # Human-like behavior
)
Also ensure you're using the latest Pro binary and have installed the required fonts on Linux. For sites like FingerprintJS, you might need additional font metrics patches.
FingerprintJS detection typically happens when:
For the latest Pro binary, use this configuration:
browser = launch(
headless=False,
proxy="http://user:pass@residential-proxy:port",
geoip=True,
args=[
"--fingerprint-noise=false",
"--fingerprint-windows-font-metrics",
],
)
CloakBrowser supports Wide DRM for Netflix, Spotify, etc. The Widevine CDM needs to be sideloaded:
python3 bin/fetch-widevine.py (Linux only)cp -r /opt/google/chrome/WidevineCdm ~/.cloakbrowser/For Docker, add -e CLOAKBROWSER_FETCH_WIDEVINE=1 to auto-fetch the CDM. The CDM must be present for launch_persistent_context() to work with DRM content.
Free Version:
Pro Version:
Getting a license key is easy:
Once you have a key, use it in your code:
# Python
browser = launch(license_key="cb_xxxxxxxx")
# JavaScript
const browser = await launch({ licenseKey: 'cb_xxxxxxxx' });
# Or set as environment variable
export CLOAKBROWSER_LICENSE_KEY=cb_xxxxxxxx
Yes! CloakBrowser has an official Docker image. Here are the common use cases:
# Quick test
docker run --rm cloakhq/cloakbrowser cloaktest
# Run a script
docker run --rm -v ./my_script.py:/app/my_script.py \
cloakhq/cloakbrowser python my_script.py
# CDP server mode
docker run -d --name cloak -p 127.0.0.1:9222:9222 \
cloakhq/cloakbrowser cloakserve
The image includes the free binary. For Pro, set the CLOAKBROWSER_LICENSE_KEY environment variable. Persistent profiles work by mounting a volume.
Get started with the latest free build or upgrade to Pro for unlimited sessions