the user-agent stylesheet resolves identically in a fresh realm
Check id default-style-values-vs-realm
What an ordinary browser yields
The user-agent defaults for div, p, h1, button and input resolve to identical values in this document and in a fresh realm.
What a detector infers
Every browser ships a user-agent stylesheet: the rules that make a heading bold and a button look like a button before any site CSS exists. Those defaults are compiled in, and the form-control ones are resolved against the platform's native rendering, so they carry both the build and the OS. Reading them on a live page is useless — the site's own stylesheet has already been applied — which is why the technique is always done in a blank iframe, and why `all: revert` is what makes the main-realm side comparable: it drops author-origin declarations and reverts the element to the user-agent origin, even on a page with a full CSS reset. One browser has exactly one user-agent stylesheet, so the two realms cannot disagree about it. When they do, something is rewriting computed style in one world and not the other, which is the signature of a page-world patch rather than an engine-level change. Only non-inherited properties are compared: an inherited one resolves against its parent, which the page is entitled to style.
How to resolve it
A per-realm difference means layout or style is being patched in the main world only. Apply such changes in the engine, where every realm — including workers and fresh iframes — sees the same result, or do not apply them.
Read in the wild by
FakeBrowser (collector)
Appends a blank iframe and dumps every key of getComputedStyle(frame.contentDocument.body) as `defaultCS` — collecting the user-agent stylesheet's resolved VALUES from a pristine document, not the property-name list a live page can give.
dumpDefaultCS(), script/dumpDD.js
kkoooqq/fakebrowser script/dumpDD.js
Every attribution traces to a published artifact. See the sources and their limits.
Nearby checks in Capability surfaces
- device-level media features are identical in a fresh realm
media-surface-vs-realmMedia features are answered by the layout engine rather than by the JavaScript properties that describe the same machine, which is what… - the codec matrix is identical in a fresh realm
codec-surface-vs-realmcanPlayType answers come from the media stack compiled into the browser, and the shape of that matrix is genuinely informative: branded… - supported <input> types are identical in a fresh realm
input-surface-vs-realmAssigning an unrecognised type to an <input> element does not throw — the element silently falls back to reporting type "text". - emoji advance widths are identical in a fresh realm
emoji-surface-vs-realmEmoji do not render from the page's fonts but from a platform font supplied by the operating system — Segoe UI Emoji on Windows, Apple Color… - the Web Animations surface is identical in a fresh realm
animation-surface-vs-realmThe Web Animations API exposes a small, precisely specified surface: whether Element.animate exists, whether the timeline and KeyframeEffect… - the platform theme resolves the CSS system colours coherently
system-colors-vs-platformThe CSS system-colour keywords — Highlight, HighlightText, Canvas, CanvasText, ButtonFace, ButtonText, GrayText and their newer siblings… - the permission descriptors this build accepts are the platform's, not a lookup table's
permission-name-support-setThe Permissions specification deliberately fixes no list of names. - form-factor-gated APIs match the form factor the client hints claim
platform-gated-apis-vs-form-factorSome Web APIs are not compiled for every platform, so their presence is a fact about the binary rather than about the user agent.
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 Capability surfaces 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 Capability surfaces — the family default-style-values-vs-realm belongs to.