Stealth Chromium built to scale

A persona and proxy per context, not per browser.

Chromium 155 · Windows · macOS · Linux · pip · npm · Docker

bing.com/search?q=weather
Device
Windows, Intel UHD Graphics 630, 1536 × 864
Exit
New York, NY
Time zone
America/New_York
Bing's weather for New York, NY, the city this persona's proxy exits in

Runs under the scripts you already have.

Pythonpip install bautabrowser
Nodenpm install bautabrowser
Gatewaybauta serve --port 9222

Passes all major bot tests.

SitebautaStock Playwright
BrowserScanNormalRobot
bot.incolumitas.com1 check failed13 checks failed
deviceandbrowserinfo.comhumanbot, 7 flags
rebrowser1 leak11 leaks
pixelscanconsistentmasking detected
iphey7030
fingerprint-scan29100
CreepJS25 % like headless94 % like headless
The browser

Designed to run more sessions per machine

bauta
2,387 MB
playwright · headed
3,338 MB
saved
28 %
Measured on real sites

Up to 28 % less memory

Personas share one browser instead of each starting their own.

See the chart →
$ bauta serve127.0.0.1:9222
# scrape.py
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(
      "http://127.0.0.1:9222/persona/shop")
    page = browser.new_page()
    page.goto("https://example.com")

Your Playwright script, one line changed

Point connect_over_cdp at the gateway: bauta serve gives every persona its own endpoint.

Open the quickstart →
One browser · 7 personas
ctx 1shopAmerica/New_York
ctx 2mailAmerica/New_York
ctx 3newsAmerica/Toronto
ctx 4cartAmerica/Los_Angeles
ctx 5jobsAsia/Tokyo
ctx 6mapsAsia/Seoul
ctx 7acctAustralia/Sydney
--per-browser 8

Add sessions, not browsers

Up to 8 personas share one browser, each in a context of its own.

Read the docs →
Memory

Up to 28 % less memory than a browser per session.

bautaStock Playwright, a headed browser per session
8 sessions
32 sessions
Pietro Longhi's Il Ridotto: masked Venetians at the gaming tables

In eighteenth-century Venice, a bauta let anyone into the Ridotto without being known.

Pietro Longhi, Il Ridotto · Rijksmuseum, Amsterdam · Public domain
Under the hood

Identity that holds up under inspection

Patched in C++. The persona lives in Chromium's own code, not in scripts injected into the page.

Sandbox stays on. Personas apply with Chromium's sandbox on, as in any Chrome.

A seed per license. Noise is keyed to your license's secret; another license reads differently on every surface.

Proxies with credentials. HTTP or SOCKS5 through the gateway, with WebRTC kept behind the proxy.

Geo from the exit. Timezone and locale follow the proxy's exit IP.

One device, everywhere a site looks. Headers, page, workers and screen report the same machine.

Try bauta free

Free without an account, more with GitHub. No card.

pip install bautabrowser