OneGlanse

Why OneGlanse Uses Camoufox Instead of Chromium

I started OneGlanse with Chromium. As I added more AI websites and moved runs to a VPS, keeping the browser working became a project of its own.

In March 2026, I moved to Camoufox, a modified Firefox browser built for automated browsing. The commit history below shows why.

The original Chromium approach

I tried direct Chrome DevTools Protocol (CDP) control, Playwright Chromium, a short Selenium experiment, Rebrowser Playwright, real Google Chrome in the VPS image, and a Chrome extension with native messaging. My custom fingerprint code modified many browser properties:

  • Screen, viewport, and window dimensions
  • Browser version, user agent, and client hints
  • Operating system and hardware properties
  • Fonts, WebGL, and canvas output
  • Languages, locale, timezone, and geolocation
  • Worker-context browser properties

VPS execution added virtual displays, sparse system fonts, profiles, proxy identity, and session state. The project also experimented with profile warmups, mouse movement, scrolling, and variable typing. Each change had a reason. Keeping all of the signals consistent was the harder task. A browser that reports one operating system while exposing another system's fonts or graphics properties can stand out more, not less.

The browser was becoming its own project

Each step links to the commit that changed the browser setup.

  1. March 4, 2026: Moved from direct CDP control to Playwright Chromium
  2. March 4, 2026: Tried Selenium with Playwright/CDP before returning to Playwright
  3. March 7, 2026: Tried Rebrowser Playwright
  4. March 7, 2026: Expanded custom fingerprint handling
  5. March 7, 2026: Adjusted the VPS browser fonts
  6. March 8, 2026: Installed Google Chrome and added sticky proxy sessions and profiles
  7. March 9, 2026: Tried a Chrome extension and native messaging
  8. March 27, 2026: Replaced the custom Chrome browser layer with Camoufox
  9. March 29, 2026: Removed hardcoded OS, screen, and fingerprint overrides

Chromium can be automated. But I was maintaining more and more browser fingerprint code instead of working on prompts, answers, and citations.

Why I chose Camoufox

Camoufox modifies Firefox itself. It handles many fingerprint properties inside the browser, instead of relying mainly on JavaScript patches after a page loads. Its launcher uses BrowserForge to generate plausible combinations of device, screen, locale, font, and graphics properties. Playwright controls it through Firefox's Juggler path rather than Chromium's CDP path.

That let me remove several hardcoded fingerprint overrides and get back to OneGlanse: keeping logins working, running prompts, saving answers and citations, and retrying failed runs.

Camoufox does not eliminate bot detection

Provider interfaces can still challenge automated traffic. Datacenter IP reputation, blocked proxies, expired sessions, UI changes, CAPTCHAs, Cloudflare, Turnstile, and rate limits still matter. OneGlanse still detects challenge pages and handles proxy failures. Camoufox is one part of collection, not a promise that browser sessions will never be detected.

Camoufox reduced the fingerprint code I maintain. I have not run a controlled benchmark of detection rates.

Why the browser matters here

A product interface can include retrieval, citations, source cards, and ordering that differ from a model API response. OneGlanse uses the browser to observe that product surface. The browser choice therefore affects the reliability of the data it can collect, even though the analysis step runs separately.

Credit to Camoufox

OneGlanse's collection layer depends on the work of the Camoufox contributors. The project began at daijro/camoufox. Current browser development also occurs at Clover Labs. OneGlanse currently installs the `cloverlabs-camoufox` Python package. These contributors maintain the browser layer that lets OneGlanse spend more effort on collection and analysis.

For the wider infrastructure tradeoff, read why OneGlanse is self-hosted. For how a collected answer is interpreted, read the collection methodology.