Site map
Every page on the site, by section.
Product
HomeDocumentation
Docs homeSelf-hosted · Getting started
Self-hosted · Stealth
Self-hosted · Features
Self-hosted · Operate
Cloud · Getting started
Cloud · Browsers
Cloud · Agents
Self-hosted · Switching to Clearcote
Cloud · Switching to Clearcote
Free tools
All free tools- Browser fingerprint test
- What is my user agent?
- Chrome user agent strings
- WebRTC leak test
- JA4 fingerprint checker
- Random user agent generator
- What browser am I using?
- What is my screen resolution?
- TLS checker
- Canvas fingerprint test
- WebGL test and fingerprint
- WebGPU test
- Audio fingerprint test
- Font fingerprint test
- curl converter
- Firefox user agent strings
- Safari user agent strings
- Microsoft Edge user agent strings
- Android user agent strings
- iPhone user agent strings
- Googlebot user agent strings
- All 365 checks
- Methodology
- Research & sources
- Browser fingerprint statistics
Fingerprint test sites
Research
All researchDesign principles
Fingerprinting
- Fingerprinting: overview
- Anatomy of a browser fingerprint: every signal, and why they must agree
- Cross-realm coherence: why a worker must agree with the page
- Spec invariants as lie detectors
- The font stack under the user agent: two OS tells a persona cannot reach
- Locale, time and glyph tells: small probes that reveal the host
- The heap limit as a RAM tell: what jsHeapSizeLimit says that deviceMemory does not
- Chrome's version is not one number: patch levels, platforms and the client hints
- Header order depends on the request: how Chrome and Safari build each kind of request
- performance.now() precision is a fingerprint
- Built-in AI availability: what Summarizer.availability() reveals and what it does not
- Storage quota and private mode: what navigator.storage.estimate() still reveals
Detection teardowns
- Detection teardowns: overview
- How automation gets caught, layer by layer
- Identifying the engine behind the User-Agent
- Inside a challenge widget: what one bot check collects in two seconds
- Timing native functions: how a page finds a hook that hides its source
- Probing for a package that should not exist: how one Worker call exposed a patched Firefox
- Proof of work as a core-count check: what a challenge learns from your hash rate
- Latency as a location check: what a WebSocket echo says about your proxy
- What a checkbox click records: one click, sixty properties and a count of everything before it
- Stack traces show what called the widget
- What the page around a challenge widget reports
Engineering
Chrome releases
All Chrome releasesBlog
All articles- Testing in Parallel with Playwright: Setup That Holds Up
- How to Use a Python Headless Browser Safely at Scale
- Chrome Based Web Browser: Engines, Forks, and Privacy
- Chrome Extension Testing: Playwright and Puppeteer Guide
- 10 Test Automation Tools Worth Knowing in 2026
- Selenium Headless: How to Run Chrome Without a Window
- Best Scraping Browser Tools in 2026: 7 Picks Compared
- Residential Proxies Explained: Types, Uses and Risks
- Web Scraping Python: Build a Scraper That Lasts
- Web Scraping Blocked? Diagnose It Before You Fix It
- What Is Browser Fingerprinting and Why It Sticks
- Web Scraping JavaScript: Render Only When You Must
- 10 Web Scraping API Providers Compared for 2026
- Chrome DevTools Protocol: A Practical Guide for Automation
- Model Context Protocol: How It Works and Why It Matters
- Selenium Docker: How to Run Grid Tests in Containers
- Cross Browser Testing Tools: 10 Options Compared for 2026
- AI Web Scraping Explained: LLMs, Agents and Ethics
- User Agent Spoofing in Puppeteer: Headless Detection Guide
- Playwright Web Scraping in 2026: A Step-by-Step Tutorial
- Puppeteer vs Selenium: Which One Should You Use?
- Web Crawler vs Web Scraper: A Practical Decision Guide
- 7 Playwright Alternatives for Smarter Browser Automation
- How to Build a Web Scraping Bot That Actually Holds Up
- Canvas Fingerprinting: How It Works and How to Stop It
- Puppeteer Docker: A Practical Setup and Stability Guide
- Cloud Browser Explained: How Chromium Forks Stay Coherent
- Playwright Docker
- Headless Browser Guide: What It Is and How It Works
- Selenium vs Playwright: The Pragmatic Comparison for 2026
- Puppeteer Automation That Actually Holds Up in 2026
- AI Browser Agent: What It Is and How It Works
- Headless Chrome: A Complete 2026 Guide
- Playwright Automation: Patterns, SDKs, and Stable Tests
- Playwright Bot Detection: A Developer Guide
- Web Scraping at Scale: An Architectural Playbook
- Proxy for Web Scraping: Types, Geo-Matching, and Setup
- Agentic Web Browsing Explained: A Developer's Guide
- 10 Browser Automation Open Source Tools for 2026
- 7 Best Browser Automation Tools for 2026
- 7 Web Scraping Tools for Reliable Data Pipelines
- Browser Automation Python: Setup, Scripts, Tips
- Playwright vs Puppeteer: A Practitioner's Comparison
- Playwright Stealth Mode: Beyond Patching Navigator.webdriver
- 10 Browser Fingerprinting Tools for Testing
- Anti-Detect Browser: A Guide to Fingerprinting
- Browser as a Service: Architecture, Costs, and Key Tradeoffs
- MCP Browser Automation: Architecture and Integration
Bot detection
- How do anti-bot systems detect automation?
- Why does navigator.webdriver reveal automation?
- What is CreepJS?
- How is a headless browser detected?
- What is CDP detection?
- What is a timezone / IP mismatch?
- What is behavioural bot detection?
- Why does Function.toString() reveal a hooked function?
- How is mobile emulation detected?
- What is bot detection?
Browser fingerprinting
- What is browser fingerprinting?
- What is canvas fingerprinting?
- What is a JA3 / JA4 TLS fingerprint?
- What is WebGL fingerprinting?
- What is AudioContext fingerprinting?
- What is font fingerprinting?
- Can a browser hide which operating system it runs on?
- What is HTTP/2 fingerprinting?
- What are User-Agent Client Hints (UA-CH)?
- What is a WebRTC leak, and how do you test for one?
- What is screen fingerprinting?
- What does WebRTC SDP reveal about a browser?
- What is codec fingerprinting?
- What is DOMRect fingerprinting?
- What is speech synthesis fingerprinting?
Web automation
- What is an anti-detect browser?
- Playwright vs Puppeteer for stealth: does it matter?
- What is a headless browser?
- Why must a worker report the same values as the page?
- What is a stealth browser?
- What is an undetectable browser?
- What is headless Chrome?
- What is a scraping browser?
- How do you scrape a website with Selenium?
Comparisons
All comparisons- Clearcote vs Camoufox
- Clearcote vs CloakBrowser
- Clearcote vs undetected-chromedriver
- Clearcote vs nodriver
- Clearcote vs puppeteer-extra-plugin-stealth
- Clearcote vs playwright-stealth
- Clearcote vs Patchright
- Clearcote vs selenium-stealth
- Clearcote vs SeleniumBase
- Clearcote vs Zendriver
- Clearcote vs rebrowser-patches
- Clearcote vs Multilogin
- Clearcote vs GoLogin
- Clearcote vs Kameleo
- Clearcote vs Dolphin Anty
- Clearcote vs AdsPower
- Clearcote vs Fortress
- Clearcote vs Scrapfly