The rating plate.

Every real instrument has a small plate riveted to the back: what it is, what it draws, what it can take. This is yours. What the browser will admit about this device, which sensors it will actually let a page read, and how hard the rest of the bench should push before the fluid simulation starts dropping frames. Measured here, kept here, sent nowhere.

where this goes Nowhere. Every number on this page is read from your own browser and rendered a few milliseconds later a few centimeters away. There is no beacon carrying any of it, no form post, and no server on the other end of this site that could receive one: it is static files. The site does count page views, through a single readable file at /analytics.js that sends a path, a title, a referrer and a screen size and nothing else, but not one number measured on this page is among them. Your chosen profile is written to this browser's own localStorage so the instruments can read it, and you can wipe it at the bottom of the page. The only outside requests this page makes are the two every page here makes: one for its fonts, and that one count.

01 · the profile

How hard to push.

auto

Six instruments on the bench solve something real every frame: a lattice-Boltzmann fluid, a Gray–Scott reactor, a pair of live FFTs off the microphone. They shipped with one set of constants, tuned on a laptop, which is generous to a phone and stingy to a workstation. This is the one dial that changes all of them.

reading the profile

What that actually changes.

live

Not a vague quality slider. Each instrument multiplies its own defaults by the profile, so here are the numbers it will use the next time you open one. Reload an instrument that is already open for the change to take.

InstrumentKnobNowCosts

02 · the measurement

Measure it, don't guess.

~2 seconds

Auto guesses from core count and memory, which the browser rounds off before it tells you, so the guess is coarse. This runs the actual work instead: the reaction–diffusion kernel from the bench, a canvas fill loop, and a look at how fast frames really arrive. Nothing is uploaded and nothing is compared against anyone else's machine, because there is no one else's machine here.

03 · the machine

Processor and memory.

as reported

Deliberately vague, everywhere. Core counts are real, memory is rounded down to a power of two, and the model name is only offered if you ask for it by name.

Graphics.

webgl · webgpu

The renderer string is one of the most identifying things a browser will hand out unasked, which is why Firefox and Safari file the serial number off it before they do.

The display.

pixels · color

Where and when.

locale

None of this was looked up. Your time zone is the clock's own answer, and it is a sharper location hint than most people expect.

What you have asked the machine for.

media queries

Accessibility and appearance preferences are readable by any page without permission, on purpose: a page that cannot see “reduce motion” cannot honor it. The bench honors the reduced-motion one, and lets you override it in section 01.

Link and power.

no ping sent

These are the operating system's own numbers, handed over. Nothing here measured a network by using one.

Storage on this origin.

rizkinlabs

Only what this site itself is using, and the browser's estimate is padded on purpose so the exact figure cannot be used to identify you.

The browser's own account of itself.

user agent

04 · sensors and interfaces

What is readable, and what is refused.

probed live

Presence is checked by looking for the interface. Permission state is asked with the Permissions API, which reports what you have already decided and never raises a prompt on its own. Where a live reading is available and harmless, there is a button, and the button is the only thing that will ever ask you for anything.

InterfacePresentPermissionReading
the shape of itThe pattern is consistent once you see it. Anything that measures the physical world around the device is available after a prompt and only while the page is in front of you. Anything that would let a page silently survey what is near the device — the WiFi access points, the cell towers, the Bluetooth beacons, the other apps — has no API at all, in any browser, and never has. Those are not gaps waiting to be filled.

Never, in any browser.

by design
Not availableWhy not
WiFi surveyA list of nearby access point BSSIDs is a street-address-precision location fingerprint that needs no permission dialog to collect. No browser has ever exposed one.
Cell identityNo tower ID, no signal strength, no IMSI, no carrier beyond what the user agent string chooses to say. The Network Information API's “4g” is a bandwidth hint, not a radio measurement.
Raw GNSSGeolocation gives a fix. It does not give pseudoranges, per-satellite carrier-to-noise ratios, or ephemeris. Those are a native Android API with no web equivalent.
Installed applicationsNo enumeration, ever. Even the related-applications check only answers about apps this same site published.
Thermals and CPU loadNo die temperature, no governor state, no load average. A thermal trace is a side channel, and it also tells an attacker when the machine is idle.
BarometerNo web API exposes absolute pressure, on any platform, although the sensor is sitting right there in most phones. Pressure against a public weather reading is an altitude, and altitude inside a building is a floor number.
Other tabs and windowsNo enumeration of what else is open, in this browser or any other, beyond the pages this same origin opened itself.

05 · what it can play, and what it can run

Codecs.

canPlayType

Which decoders this device admits to having. On a phone the answer is usually “the ones in the silicon”.

Engine features.

runtime

What a page could run here if it wanted to, which is most of the reason the bench needs no libraries.

06 · the fingerprint you did not know you were wearing

The fonts you have. a demonstration, on you, of the thing you should worry about 06

There is no API that lists your installed fonts without asking. There does not need to be one. A page can draw a string in a candidate font, draw it again in a known fallback, and compare the two widths; a difference means the font resolved, which means it is installed. Run it against a list and you get a set that is close to unique, because your font set is a history of every application you have ever installed.

This is shown here for exactly one reason: it is the clearest demonstration of why “we do not collect personal data” and “we cannot identify you” are different sentences. Nothing on this page is hashed, stored, or sent. Safari has already started refusing to answer honestly, which is why its list will look implausibly tidy.

07 · take it with you

The whole plate, as text.

clipboard

Everything above, flattened into plain text on your clipboard, for a bug report or a note to yourself. It goes to the clipboard and nowhere else, and what you do with it after that is between you and the paste target.