Skip to content
All fingerprint checks
Render & GPU

a hidden child realm lays text out exactly as the page does

Pim· Clearcote Research 2 min readCheck id hidden-iframe-layout-agreement

The same element measured in the page and in a hidden same-origin child frame produces identical text advance, identical box dimensions and the same resolved font-family.

What a detector infers

A deployed commercial agent does not run most of its collectors in the page. It creates ONE hidden iframe, runs them inside it behind a visibilitychange listener and a timeout race, and reports a distinct status code when the frame does not answer in time — seven of its signals are gathered that way. What it reads there is not navigator values but LAYOUT: element bounding boxes, text advance widths, scroll geometry, resolved font-family.

That distinction is why this row exists next to iframe-coherence rather than inside it. The older row compares navigator and screen values across the same realm boundary and catches a spoof scoped to the top window; nothing in this audit compared layout across realms, which is the half the hidden frame is actually used for.

The assertion needs no reference value and no population: both realms belong to one document, are laid out by one engine and resolve against one font stack, so an identical element measured in each is one measurement described twice. Text advance in particular is compared exactly rather than with a tolerance, because there is no legitimate source of disagreement — one string in one font has one advance width.

A metric perturbation installed on the page's prototypes does not follow into a frame created afterwards, so the frame keeps reporting the real geometry and the pair separates.

How to resolve it

Apply metric-level changes below the realm boundary. A patch installed on the top document does not reach a same-origin iframe created later, and collecting layout through exactly such a frame is a deployed technique rather than a hypothetical one.

How automation gets caught, layer by layer

Nearby checks in Render & GPU

See all 46 checks in Render & GPU
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 Render & GPU 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 Render & GPU — the family hidden-iframe-layout-agreement belongs to.