Stealth browser automation

Stealth browser automation is the practice of driving a browser programmatically while making the session look like a genuine human device rather than an automated one.

Most stealth tools patch a desktop browser with JavaScript to hide automation signals. Detectors have learned to read that injected surface. Damru takes a different route: it runs a real Android browser (Redroid in Docker) and changes the device, GPU, and network fingerprint at the operating-system and binary level — so there is nothing injected into the page to detect.

How Damru approaches it

Quickstart

pip install damru
python -m damru install-image

from damru import AsyncDamru
async with AsyncDamru(device="random") as browser:
    page = await browser.new_page()
    await page.goto("https://creepjs.com")

Why OS-level beats JavaScript stealth

JavaScript-hook tools leave a detectable surface in page context — overridden properties, missing native behaviors, timing tells. Because Damru applies its changes below the browser before the page even loads, those tells don’t exist. It is validated against open fingerprinting suites like CreepJS and Sannysoft; see the benchmark results.

FAQ

What is stealth browser automation?

Driving a browser programmatically while making the session look like a genuine human device rather than an automated one — so anti-bot systems treat it as a real user.

Is stealth browser automation legal?

The technique is legal for authorized uses: web scraping within a site’s terms, QA testing, and security/fingerprinting research. You are responsible for complying with each site’s terms and applicable law.

How is Damru’s approach different?

Most tools patch a desktop browser with JavaScript, which detectors read. Damru runs a real Android device and changes the fingerprint at the OS, binary, and network layers — nothing is injected into the page.

Compare: undetected-chromedriver alternative · playwright-stealth alternative · full comparison.

Get started →