Mosaic is an anti-detect browser with its own Chromium engine, Tesseract Chrome. It is built from stock Chromium source with a series of 64 patches applied, and the patches change fingerprint values inside the engine, in C++. A page, an iframe, a dedicated worker and a service worker all ask the same code and get the same answer. Nothing is spoofed with JavaScript injected into the page.

"Its own engine" alone does not tell you much. What matters is which values the patches move, what the base is, and whether the result still behaves like the Chrome it claims to be. This page is those three things.

What the patches change in an anti-detect browser with its own Chromium engine

Each value a site reads to recognise a machine has a patch in the file that produces it: canvas readback, WebGL and WebGPU strings, audio output, the screen geometry, the timezone, client hints, the font list, the speech voice list, media device counts. The values come from the profile, which Mosaic draws from one real device record so they agree with each other (machines that exist has how). The timezone, language and location come from the proxy's measured exit, as matched to the exit describes.

We do not spoof anything in JavaScript on our own engine, even as a backup. Two spoofs of one value compose into something neither side predicted, and a consistency scanner is looking for exactly that: two answers that disagree.

Mosaic settings showing the installed Tesseract Chrome engine and its version
Settings › Engine: the installed Tesseract Chrome build and its version.

The fingerprint is changed inside the engine, not painted on topIn Mosaic: Its own Chromium. Tesseract Chrome: values changed in C++, not JavaScript. Free holds 3 profiles. Pro is $49 a month for any number.

How it works: Its own Chromium

Stock Chromium, not ungoogled

The base is stock Chromium, not ungoogled-chromium or another privacy fork. A privacy fork removes things Chrome has, and a browser that claims Chrome while missing them reads as masked whatever you configure on top. The TLS handshake is left exactly as Chromium makes it, because the browser really is Chromium and there is nothing to imitate.

Where plain Chromium is not Chrome

An unbranded Chromium differs from Google Chrome in ways a page can read, and every profile claims Chrome. So the engine closes the differences we have measured:

  • Field trials. An unbranded build runs a testing config at every launch, which on our measurement against Chrome 153 meant twenty differences in the API surface, such as no navigator.runAdAuction and an extra window.ModelContext. Mosaic launches with that config off.
  • Speech voices. Branded Chrome lists 199 voices and an unbranded build lists 180. Patch 0145-branded-tts-voices restores the 19 missing Google voices.
  • Widevine. Without Google's signatures, the first licence request carries a per-install device certificate (1,704 bytes, where Chrome sends 2), which would tie every profile on the machine together. So Widevine is off unless a profile asks for it.

Why we built our own Chromium tells the story of each of those measurements, including the one we should have run first.

The engine also refuses to claim a brand it cannot spell correctly. Edge is refused, because one switch feeds both the client-hint version lists and the User-Agent suffix, and Edge needs them in two different shapes. Profiles claim Chrome.

A few things around the engine

With a proxy attached, the engine runs with WebRTC's non-proxied UDP turned off, so WebRTC cannot send traffic around the proxy and expose your real address. On a Mac, every launch runs under a Mosaic launcher bundle, never the raw engine binary, which would put a tile named "Tesseract" with the stock Chromium icon in the Dock. And the engine tracks the current stable Chrome major. Moving it to a new major took 93 minutes on our build machine in September 2026, and changing one patch and relinking takes one to two minutes, which keeps a fix close to the finding that prompted it.

Getting it

You do not compile it. Settings › Engine installs a published build from its manifest: the download is checked against a SHA-256 before anything is unpacked, then moved into place in one step. The engine download is on every plan, so a free account downloads the browser too. The only engine build so far is for Macs with Apple silicon; there is no Windows engine yet.

None of this makes a browser undetectable, and we do not say it does. It removes the class of mistakes where a browser contradicts itself. The download page says what is available for your computer.