Contact support

We reply by e-mail, usually within two days.

Google reCAPTCHA checks this submission against abuse; data is sent to Google. The script loads only once you open this form.

← All posts

The data we stopped collecting

This service used to record screen resolution. The browser script read window.screen and sent it along as res=1920x1080, and the statistics page had a panel for it.

It does not any more. The table that held it has zero rows today, and the panel shows its empty state. The line in the script where the reading happened is now a comment saying what used to be there.

Why it went

Screen resolution is a good fingerprinting signal — not on its own, but combined with the other things a request carries. This service tries to hold as little as possible about a visitor, and a number describing their hardware was not paying for itself. Nobody had ever done anything with the panel.

That is the easy half of the decision. The hard half was making it true.

Turning it off in the browser was not enough

Removing the line from the script stops new copies of the script from sending it. It does nothing about the copies already out there, and there are two kinds:

  • Browsers keep the script for seven days. For a week after any change, a share of visitors is running the previous version.
  • Some customer pages do not load the script from here at all — they embed a copy taken years ago, pasted into a template and never touched since.

The second kind has no expiry date. Those pages would have kept sending res= indefinitely, and the server would have kept filing it, and the change would have read as complete while being false for exactly the visitors nobody was watching.

So the server stopped accepting it too. It arrives, it is ignored, nothing is written. That is the half of the change that actually holds.

The shape of the mistake this avoids

"We removed the collection" is a claim about code. "We no longer hold this" is a claim about data. They are different claims, and on the web the first does not imply the second, because your client code runs on machines you do not control, in versions you did not choose, for as long as somebody's cache or copy-paste keeps it alive.

Anything you turn off on the client, turn off on the server as well. The client change is what stops it being sent. The server change is what makes the statement true.

The old rows are still there, dwindling, being deleted in batches by a small tool written for exactly that. When it finishes, the panel will still be empty, and that will finally be the whole story rather than most of it.

Advertisement