GPU-side pass timing is reported beside the wall clock
Contextual only. Where the feature is available, the device-side pass duration is shown beside the wall-clock duration. The feature being absent is common and entirely ordinary.
What a detector infers
A deployed commercial agent's GPU collector is not a pixel hash. It builds a real pipeline — shader module, small texture, rotation matrices — brackets the pass with a query set carrying timestamp writes at the start and the end, resolves the results into a mapped buffer, and compares them against wall-clock deltas measured around the same submission.
What that reads is GPU-side execution timing: how long the work took on the device according to the device, next to how long the CPU thought it took. Every other GPU row in this audit reads a NAME or a LIMIT — the renderer string, the parameter table, the preferred canvas format, the extension list — and all of those are values a persona can rewrite.
A timestamp comes from the hardware's own counter, which is the point of collecting it and the reason it is worth having a row for even though the row cannot reach a verdict. It is reported and never scored for two independent reasons, and both are real. Browsers deliberately quantise timestamp-query resolution as an anti-side-channel measure, and the quantum differs by platform and build.
And absolute GPU timings depend on the machine, its thermal state, and whatever else is using the device — so any threshold would convict a busy laptop. The ratio of device time to wall time is the shape worth comparing, and it only means something against a control.
How to resolve it
Nothing to set — this is not a value the browser reports, it is one the GPU produces. If a persona claims hardware whose timing profile differs sharply from what the device actually reports, that gap is not reachable from the software layer the rest of a fingerprint lives in.
Nearby checks in Render & GPU
- the WebGL2 element-count limits are reported beside the renderer that claims them
webgl-max-elements-readoutMAX_ELEMENTS_INDICES and MAX_ELEMENTS_VERTICES are hints the driver publishes about how many indices and vertices it draws efficiently in… - the WebGPU preferred canvas format is reported beside the claimed platform
webgpu-canvas-format-readoutnavigator.gpu.getPreferredCanvasFormat() returns the texture byte order the platform's compositor wants to be handed — and that preference… - drawing the same scene twice produces the same pixels
canvas-repeat-render-determinismCanvas noise is usually reasoned about as a trade: give up a stable hash, gain an unlinkable one. - reading the same framebuffer twice returns the same bytes
webgl-repeat-readback-determinismThe same assertion as the canvas row beside it, asked one layer down the graphics stack, and separate from it because a build can be… - MathML scripts are shaped with real metrics, not flattened to text
mathml-metrics-vs-osMathML metrics sit in the long tail of a deployed collector's signal inventory, read through an <mmultiscripts> element. - a hidden child realm lays text out exactly as the page does
hidden-iframe-layout-agreementA deployed commercial agent does not run most of its collectors in the page. - the time a hidden frame takes to be created and measured in is reported
hidden-iframe-completion-budgetThe second failure mode of the hidden-frame modality, and one nothing in this audit could previously report: not a wrong answer, but no… - the same surfaces sampled twice in one page return the same answers
answer-stability-across-passesThis is the two repeat-render rows generalised across every surface at once, and the argument for it comes from how detector scores actually…
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 webgpu-timestamp-vs-wallclock belongs to.
