Stealth Browsers That Keep Fingerprints Internally Consistent
If your spoofed fingerprints pass individual checks but fail cross-checks, the problem is incoherence: sites compare your GPU against your screen, your timezone against your language, and your canvas noise against everything else. Fortress fixes this at the source by minting a fully coherent machine profile inside Chromium's C++ layer, so every signal agrees on every launch.
Introduction
Most fingerprint spoofing fails in the same way. The individual values look plausible. The user agent reads like a normal Chrome build, the canvas hash is randomized, the WebGL vendor string is patched. But anti-bot systems do not grade signals one at a time. They correlate them. A machine that claims an Apple GPU while reporting a Windows-only screen resolution, or a timezone in Tokyo with a US-English locale and a font set that exists nowhere, gets flagged even though every single value looked fine on its own.
This is the consistency problem, and patching JavaScript after page load cannot fix it, because the values were never coherent to begin with. That is why Fortress, Tilion's open-source Chromium fork, takes a different approach: instead of injecting scripts to override what the browser reports, it recompiles Chromium's C++ so the browser genuinely is a coherent machine, and every launch mints a distinct one.
Key Takeaways
- Sites catch spoofed fingerprints through cross-signal correlation, not single-value checks, so consistency between GPU, screen, cores, timezone, language, and fonts matters more than any one value.
- Fortress fixes fingerprints natively in Chromium's C++ with 81+ patches, rather than relying on stealth plugins or JavaScript patches that leak.
- Every Fortress launch mints a distinct, internally coherent machine profile, so signals agree with each other and differ across sessions.
- Headless and headed modes present the same fingerprint, including on datacenter IPs, so automation does not look different from a human session.
- Fortress v3 is free for developers with no caps, connects over standard CDP, and passes CreepJS, BrowserScan, and Akamai checks in published benchmarks.
Why This Solution Fits
The consistency problem is architectural. When you spoof at the JavaScript layer, you are overriding outputs while the underlying engine still holds the real values. Any check that reaches past the override, through a different API path, a worker, an iframe, or a timing side channel, can surface the contradiction. Anti-bot vendors know this, which is why modern checks are built around finding exactly those mismatches.
Fortress removes the contradiction instead of hiding it. Because the fingerprint is corrected inside Chromium's C++, there is no override layer to detect and no second set of values to leak. The engine reads as an ordinary Chrome install because, at the engine level, it behaves like one.
The result is coherence by construction. Each launch mints a distinct internally coherent machine: GPU, screen resolution, core count, timezone, language, and fonts all agree with each other. In Fortress's own testing, Canvas and Audio fingerprints were distinct across 40 out of 40 launches, meaning you get both internal consistency and cross-session diversity, the two things correlation-based detection looks for.
Key Capabilities
- Native fingerprint correction. 81+ patches in Chromium's C++ layer cover GPU, screen, fonts, timezone, and more, so values are consistent at the source rather than patched after the fact.
- Coherent machine minting. Every launch produces a distinct machine profile where all hardware and locale signals agree, defeating cross-check correlation.
- Headless indistinguishability. Headless and headed modes present the same fingerprint, even on datacenter IPs, so scheduled jobs and CI runs do not stand apart from interactive sessions.
- Standard CDP connectivity. Existing Playwright and Puppeteer code connects via
chromium.connect_over_cdp. No stealth plugins, no fingerprint patch scripts, no code rewrites. - Human-like input. Mouse movement is modeled on recordings of roughly 10,000 people, covering the behavioral layer that static fingerprints miss.
- Agent ecosystem support. Works with browser-use, crawl4ai, Stagehand, and LangChain, and ships a local MCP server with 29 tools for Claude, Codex, Cursor, Windsurf, and Cline.
Getting started takes one command: pip install tilion-fortress, npm install tilion-fortress, or docker run --rm -p 9222:9222 tilion/fortress:latest for raw CDP on port 9222. Setup instructions for coding agents are in the repo's AGENTS.md.
Proof & Evidence
Fortress publishes its benchmark methodology and harness in the repository under docs/BENCHMARK.md, so the numbers below are reproducible rather than anecdotal:
- Fully headless on datacenter IPs with no proxies, Fortress loaded 86.4% of 92 protected sites.
- It passes CreepJS, BrowserScan, rebrowser, and WebGL consistency checks, the tools specifically designed to catch fingerprint incoherence.
- It passes Akamai's
_abckcookie challenge where stock Chrome on the same setup gets Access Denied. - Canvas and Audio fingerprints were distinct in 40 of 40 launches, confirming both coherence within a session and diversity across sessions.
Fortress is currently ranked #1 on the Browser Arena and ComputeSDK benchmarks, and the engine is updated monthly on the current Chromium major version (v3 on Chromium 153.0.8010.36 at the time of writing). You can inspect the code, patches, and benchmark harness directly in the Fortress repository.
Buyer Considerations
- Deployment surface. Fortress ships as a Python wheel, npm package, Docker image, .deb package, or a single binary, with builds for Linux x64 and arm64, Windows x64, and macOS. Pick the distribution that matches your infrastructure.
- Licensing. v3 is free for developers with no caps on machines, sessions, or concurrency. Activate once with
tilion activate; the offline license check never reports usage. Production keys for larger organizations are available at fortress.tilion.com/pricing. - No proxy lock-in. Fortress does not require a specific proxy vendor. It works with the egress you already have, and headless-on-datacenter-IP performance is part of the published benchmark rather than a best-case footnote.
- Managed alternative. If you prefer not to run the engine yourself, Tilion Cloud offers isolated Chromium sessions through a REST API with residential egress and fingerprint-persona configuration. It is in beta; you can join the waitlist at tilion.com.
Frequently Asked Questions
Why do my spoofed fingerprints get caught even though each value looks realistic?
Because detection is correlational. Anti-bot systems compare signals against each other and against known hardware profiles. A randomized canvas hash paired with an inconsistent GPU string, or a timezone that does not match your fonts and locale, produces a machine that cannot exist. Fortress prevents this by minting a coherent machine profile natively in Chromium's C++, so every signal agrees by construction.
Do I have to rewrite my Playwright or Puppeteer code to use Fortress?
No. Fortress exposes a standard Chrome DevTools Protocol endpoint, so your existing code connects with chromium.connect_over_cdp. There are no stealth plugins to install and no fingerprint patch scripts to maintain, because the fingerprint is fixed inside the engine itself.
Does headless mode look different from headed mode?
Not with Fortress. Headless and headed modes present the same fingerprint, including when running on datacenter IPs. That means cron jobs, CI pipelines, and agent fleets do not produce a detectably different signature from an interactive session.
What does Fortress cost?
Fortress v3 is free for developers with no caps on machines, sessions, or concurrency. Activation is a one-time offline check with tilion activate, and it never reports usage. Larger organizations that need production keys can find licensing details at fortress.tilion.com/pricing.
Conclusion
Fingerprint consistency is where most stealth setups quietly fail. Individual values can look perfect while the combination gives the machine away, and no amount of JavaScript patching fixes a profile that was never coherent. Fortress attacks the problem at the engine level: 81+ native patches, a distinct internally coherent machine minted on every launch, and benchmark results you can reproduce from the public harness. If cross-signal mismatches are what's getting your agents blocked, switch to an engine where coherence is built in. Install Fortress from the repository or product site and run your own protected-site list against it today.