← back to blog

Local software that quietly changes your browser fingerprint

Most people who start using an anti-detect browser assume the fingerprint problem lives entirely inside the browser. Canvas, WebGL, fonts, screen size, user agent, that whole list gets spoofed by whichever tool you picked, and the profile is done. But there’s a layer of software running underneath the browser on most machines that touches the fingerprint too, and none of it asks permission first. Antivirus suites, VPN clients, endpoint agents, and sandboxing features all reach into places that Multilogin, GoLogin, Kameleo, AdsPower, and Dolphin Anty simply can’t spoof around, because the change happens before your JavaScript ever runs.

If you’re running real proxy infrastructure and managing dozens of profiles, this matters a lot more than it sounds. A shared, unspoofed signal across every profile on the same machine is exactly the kind of thing a detection system is built to catch.

How antivirus HTTPS scanning rewrites your TLS fingerprint

Most consumer antivirus products with “web protection” or “HTTPS scanning” turned on don’t just watch your traffic pass by, they intercept it. The AV installs its own root certificate into your OS trust store, then runs a local proxy that terminates every HTTPS connection your browser makes and re-establishes a new one to the actual site. Your browser thinks it’s talking directly to the server. It isn’t. It’s talking to the antivirus’s local proxy, which is talking to the server on your behalf.

That re-established connection uses the antivirus’s own TLS stack, not your browser’s. TLS fingerprinting (JA3, JA3S, and similar) works by hashing the exact order and combination of cipher suites, extensions, and elliptic curves offered during the TLS handshake. Chrome, Firefox, and Chromium-based anti-detect browsers each have their own distinctive handshake shape. An antivirus’s interception proxy has a different one, usually built on OpenSSL or a similar generic library, and it’s the same shape no matter which browser or which anti-detect profile initiated the request.

This is the part that should worry a multi-accounting operator: if the AV is intercepting TLS, every profile launched from that machine, regardless of what canvas noise or fake user agent it presents at the JavaScript layer, sends the same TLS handshake fingerprint to the server. A platform correlating JA3 hashes across accounts doesn’t care that your navigator.userAgent strings are all different. It sees one signature tying them together. No anti-detect browser can fix this, because the spoofing happens at the JS and browser-property level, and TLS interception happens underneath that, at the OS network stack, before the browser’s own TLS library is even consulted.

Antivirus browser extensions that ride along in every profile

A lot of consumer security suites also install browser extensions automatically: Kaspersky Protection, Avast Online Security, McAfee WebAdvisor, Norton Safe Web are common examples. These get added to whatever browser is installed and often persist across new profiles on the same machine, since they’re tied to the browser binary or injected by the AV’s own hooks rather than to a specific profile’s extension list.

An extension changes the DOM. It can add elements, inject stylesheets, register content scripts, and expose objects on window that a page can query. Fingerprinting scripts routinely check for exactly this kind of thing, looking at navigator.plugins, scanning for known extension-injected DOM nodes, or probing for global variables that only certain security extensions define. If your anti-detect browser is spoofing a clean profile with no extensions, but the underlying browser install has a security suite’s content script quietly injected anyway, that’s a contradiction a detection script can pick up on.

Virtual machines, sandboxes, and containerized browsing

Some security tools don’t just watch the browser, they run it somewhere else entirely. Windows Defender Application Guard, for instance, launches Edge inside an isolated Hyper-V container for sites it doesn’t trust. Inside that container, the browser reports different hardware: navigator.hardwareConcurrency reflects the container’s allotted virtual cores rather than your real CPU, and the WebGL renderer string reports a virtual or software-rendered GPU instead of your actual graphics card. This isn’t a bug, it’s the isolation working as designed, but it means the fingerprint the page sees has nothing to do with the machine you’re actually sitting at.

The same pattern shows up with any sandboxing or virtualization layer that a security product might use to inspect unfamiliar processes: software GPU rendering, reduced core counts, and generic display drivers all change how the browser answers fingerprinting queries, and they change it independently of anything an anti-detect browser is configured to spoof.

VPN clients and firewall software leaking the network layer

VPN software installs a virtual network adapter, and that adapter has its own footprint. Some VPN clients set DNS servers that differ from what the proxy or exit node would suggest, so DNS leak tests catch a mismatch between your apparent IP and where your DNS queries actually resolve. WebRTC is the classic one here: even with a proxy configured in your anti-detect browser, an unpatched or misconfigured setup can let WebRTC’s STUN request expose a local or VPN-internal IP address alongside the public one, handing a detection script two different network identities for the same session. Firewall and endpoint agents that filter or proxy traffic locally can introduce the same kind of mismatch, quietly, without any error the user would notice.

What anti-detect browsers can and can’t fix

Anti-detect browsers are genuinely good at spoofing what’s reachable from JavaScript: canvas output, WebGL parameters, audio context fingerprints, font enumeration, screen and window dimensions, timezone, and navigator properties. That’s a real, testable layer, and it’s worth using well. But none of these tools claim to control what happens in the OS network stack or in a security product’s interception layer, because that’s not where they operate. No anti-detect browser makes an account undetectable or a profile unbannable, and any local software sitting between your browser and the internet can undercut the spoofing work before it even reaches the page.

If you’re serious about keeping profiles separated, the practical takeaway isn’t “buy a better anti-detect browser.” It’s auditing what’s actually running on the host machine. Check whether your antivirus has HTTPS scanning or web protection enabled, and understand that turning it on means every browser on that machine, anti-detect or not, shares one TLS signature. Check for AV-installed extensions sitting in your browser’s extension list outside the profiles you set up. If you’re on a VPN, run a DNS leak test and a WebRTC leak test from inside the actual profile you’re using, not just from your regular browser. And if a security product on your machine has any kind of sandboxing or “isolated browsing” feature, know when it triggers, because it can silently swap out your entire hardware fingerprint.

Testing this yourself before it costs you

The tools for checking this are the same ones fingerprinting scripts use against you: a JA3 fingerprint checker will show you the TLS signature your connection actually presents, a WebRTC leak test will show your real and VPN-internal IPs side by side, and your browser’s own extension manager will show you what’s installed outside your anti-detect profile’s control. None of this takes specialized software. It takes five minutes and the willingness to look at what’s actually happening on the machine, rather than trusting that the anti-detect browser’s settings panel is the whole story.

If you want more of this kind of hands-on breakdown, of how fingerprinting actually works and which parts of an anti-detect setup genuinely hold up under testing, you can find the rest of our coverage on the home page.

Get new guides and videos first — join the Telegram channel.

need infra for this today?