Skip to content
All fingerprint checks
Automation surface

the browser will not resolve a filesystem path the page invented

Pim· Clearcote Research 2 min readCheck id synthesized-path-entry-sandbox

No filesystem entry is returned for a file the page constructed itself, whatever its name claims to point at.

What a detector infers

This row does not measure a fingerprint. It measures whether the browser will help a page enumerate what is installed on the machine, and it comes from the most invasive technique in a deployed commercial agent's collector set. The method: construct a file object whose NAME is an absolute path, place it in a drag-and-drop data transfer, ask that item for a filesystem entry, and call getParent on whatever comes back. If the parent resolves, the directory exists on the host.

The agent runs that against sixty-two paths of a single shape — a per-application media directory, one per application identifier — covering messaging, social, dating, ride-hailing, banking and fintech software, and at least one national government identity application. A directory that exists means the application is installed. That is installed-software enumeration from a web page, and the list is selected to reveal things about a person rather than about a browser.

The invariant needs no reference data at all, which is what makes it safe to score strictly: an entry returned here would describe a path THE PAGE INVENTED, not anything a person chose to hand over. The drag-and-drop bridge exists to describe items someone actually dropped, so for a synthesised item the correct answer is nothing.

Measured on a current desktop Chromium, the entry accessor returns null for a programmatically added file, which is right — and is why the technique is aimed at platforms that behave differently.

How to resolve it

Nothing to configure; current desktop builds already answer correctly. A build that returns an entry has made the drag-and-drop bridge reachable without a drag, at which point it can be walked to test whether any path exists on the host — a disclosure about the person using the machine rather than about the browser.

How automation gets caught, layer by layer

Nearby checks in Automation surface

See all 49 checks in Automation surface
Who builds this test

Clearcote is a browser built for fingerprint coherence

It is a Chromium fork, maintained by the same people who wrote this reference. It ships as a compiled browser rather than as a stealth script injected into someone else's — which is a description of how it is built, and is not an argument about how it behaves on this check.

This audit takes no position on how Clearcote scores on Automation surface checks, on this one, or anywhere else. It has no baseline corpus of other people's fingerprints to rank you against and no vendor scoreboard — nearly every check is self-referential, asking one browser the same question through two independent APIs and reporting whether both answers can be true at once. It runs identically on any browser, including ours. Run it on yours and read the result yourself.

See the other checks in Automation surface — the family synthesized-path-entry-sandbox belongs to.