browser hardware tests

Privacy

The tests run in your browser. Your key presses, clicks and screen are never sent; a few counts are, and this page lists every one.

What never leaves your machine

Every test on this site runs in your browser. The marks you look for on a color field, the clicks you make, the speed you click at, the characters your keys type: none of it is uploaded, and nothing is recorded. The keys you press are never sent one by one.

One endpoint exists, and everything it accepts is listed below: counts, and for the keyboard a short list of codes that did not answer. Every figure it takes is a number or the name of a switch, never a recording.

A test sometimes asks your browser for something: to keep the display awake, to go full screen, and for the camera and microphone tests when they ship. That permission is used for the test and for nothing else. No recording is made, no image is kept, and nothing is uploaded.

What is measured

Three things are counted, and all three are counted without knowing who you are. There is no account, no cookie, and no identifier of any kind: nothing is generated to recognize you, not for a session, not for a tab, not for a single page view. Two visits look exactly like two visits by different people, because that is all the site can tell.

The first is how fast the page loads and responds: the five Core Web Vitals figures your browser calculates by itself, which are called LCP, CLS, INP, FCP and TTFB.

The second is a test summary. For the keyboard, it is sent once, when you stop or first hide the page, and describes the test at that moment. Coming back continues the same test. Reset starts a new one, and sends the old one first only if most of the board was already tested. The summary says which test ran and how many of its parts answered out of how many. For the keyboard, and only when most of the board was already tested, it also lists up to six key codes that did not answer. That list is the one original figure this site will ever publish: which keys fail most often, across everyone. A key code is the name of a switch, not of a person, and the keys you press are never sent one by one.

The third is a single request for a file named the way advert blockers expect, and whether your browser fetched it or refused. That measures how many visitors block adverts, which decides whether this site can ever be paid for by them. No advert is served either way.

Each of those is a few dozen bytes: a name from a list of three, a short label, the path of the page you are on without its query string, and one whole number. They are collected in the page and sent together, to this domain, at most every ten seconds and once more when you leave. Cloudflare, which serves the site, adds the country and the data center your request arrived through. Your IP address reaches Cloudflare because a request cannot arrive without one, and it stops there.

There is one exception to the query string never traveling, and it is worth describing exactly. If you arrive from an AI assistant, the link it gave you often carries ?utm_source= with the assistant's name, and that is frequently the only way the visit can be told apart at all. So the page reads that one parameter and records which of nine known names it matched — chatgpt, perplexity, gemini, claude, copilot, meta-ai, grok, deepseek, or the word other for anything else.

The parameter's own text never leaves your browser. Nothing else in the query string is read. The list of nine is written into the site's code, so the set of words this can ever store is fixed before you arrive, and a parameter carrying something personal, or something someone appended on purpose, is stored as other and nothing more.

If your browser sends Do Not Track, none of this is sent at all.

What is stored in your browser

Two things. The first is your choice of light or dark theme, under the name pellick-theme, and only if you pick one. Leaving the theme on System stores nothing.

The second is the character each key types on your layout, under the name pellick-layout-labels. A keyboard test stores it as soon as it opens, and only in browsers that report your keyboard layout to the page, such as Chrome and Edge on a computer. Your next visit uses it to draw the keys with your characters from the first moment.

Neither one is ever sent anywhere. Clearing your browser's site data removes both, and the tests still work without them: the keys just start with their default labels.

Advertising

There is no advertising on the site today, and no advertising network is loaded. The only thing here that touches the subject is the blocking measurement described above: a file at /ads/ad-banner.js, served from this domain, that exists to be refused.

If that changes, this page changes with it and says which network, what it sets, and how to opt out, before the first advert is served rather than after.

Third parties

The site loads no fonts, scripts, frames or images from anyone else. The one font it downloads is served from this domain. Nothing here talks to a social network, a tag manager, or an analytics platform.

The site is hosted on Cloudflare, which handles the request to reach it and keeps its own operational logs the way any host does.

Questions

The contact page says how to reach a person. If something on this page does not match what the site does, that is a defect and it will be fixed.