Legal
Privacy Policy
Last updated: October 10, 2026
The short version
This site keeps one thing on your device for its tools: a calibration record, so the ruler is still true the next time you open it. The record holds measurements of your display and nothing about you, and it is never sent anywhere. (If you turn counting off below, the site also keeps a note of that choice, and nothing else.) Everything the tools compute happens inside your tab.
The site also counts how it is used, so we can see which pages and tools are worth improving. Each page view (view), each finished calibration or print (result), and each link followed to another site (out) is sent as a small count to this site's own address. A count carries the page's path, the referring site's name and your country, and no cookie, no ID, no IP address and nothing you measured, and it is not linked to any other count. One click turns it off. The full list of what a count holds is below. There are no accounts, no cookies, no advertising and no uploads, and nothing is sold.
The calibration record, in full
When you calibrate, one entry is written to your browser's local storage for this site, under the name realsizer.calibration. It is a single versioned record and this is all of it:
- the density you measured, as device pixels per millimeter;
- which reference object you matched, which edge of it, and which way up you held it;
- the error band that object and edge earn;
- the second reference and the agreement percentage, if you ran a cross-check;
- the date and time of the match;
- a snapshot of what your browser was reporting at that moment, which is ten values: the pixel ratio; the native pixel width and the native pixel height of the screen; the width of the browser's own chrome and its height; the viewport width in device pixels; the layout scale and the pinch scale; the measured width of a CSS inch; and one value that is not a display property at all. If a mouse has moved across the page, the record keeps the ratio between how far the pointer travelled on the screen and how far it travelled inside the page, which is how the page catches a zoom the browser declines to report. That last one is a ratio of two distances and nothing else: no pointer position, no path, and no timing is kept.
Those ten values are the witnesses, and the list above names every one of them. They let the page tell a change it can correct for, such as a page zoom or a display-scaling change that the browser reports through its pixel ratio, from a change it cannot. After a change it cannot correct for, the ruler drops out of its calibrated state and asks you to match the card again. The methodology page explains what each one catches.
The record is not personal data. It describes a display and holds no identifier, name, address or account. Your browser writes it and reads it, and it is never transmitted: the Content-Security-Policy described below blocks requests to any outside origin. Display characteristics and the pointer ratio above are signals used for fingerprinting elsewhere on the web. This site reads them only from your own device, and only to keep your own ruler true.
Removing it
The ruler page has a Discard calibration control that deletes the record immediately. Clearing site data for this domain in your browser settings does the same. Each browser on each device keeps its own storage, so the record is not shared between your phone and your laptop (which have different displays anyway) or between two browsers on one machine.
Browser storage is separated by origin, so a calibration made on any other website, including any other site we operate, cannot be read here, and one made here cannot be read there.
If your browser will not allow storage at all (in a private window, or with a setting that blocks it), the tools still work. A match calibrates the ruler for that visit only, and a neutral note on the page says it was not saved.
What is not stored
No cookies are set by this site, for any purpose. There is no session storage, no IndexedDB, no service worker and no offline cache. There is no sign-up, no login, no email capture and no list. There is no file picker, no camera access, no microphone access and no clipboard read anywhere on the site. The tools compute from a number you produce by dragging an outline, and they take in nothing else.
What is counted
Every page loads one small script of this site's own, /count.js. It sends short counts to this site's own address, /_c, and to nowhere else. There is no third-party analytics, tag manager, pixel or advertising script. Your browser enforces that part: the Content-Security-Policy served with every page allows connections to this origin alone, so a request to any outside origin is blocked.
A count is sent when a page is viewed, when a tool finishes its job, and when you follow a link to another site or an email link. One count holds these fields and nothing else:
- Site. This site's name,
realsizer.com, so its counts can be told apart from other sites' counts. - Copy. Whether the count came from realsizer.com itself or from a preview copy of the site made while it is being changed.
- Kind of count. A page view, a tool result, or a link followed to another site.
- Page. The address of the page, without anything after a question mark, such as
/printable-ruler/. - Start of a visit. For a page view, whether you arrived from another site or from nowhere (a typed address or a bookmark), rather than from a page on this site, a reload or the back button.
- Kind of referring site. For the first page of a visit only, which kind of site sent you: one name from a short fixed list of search engines, AI assistants and social sites, or
direct, orother. - Referring site. For the first page of a visit only, the name of the site that sent you, such as
duckduckgo.com. Never the address of the page you came from, and never what you searched for. - How the page was opened. For a page view, whether the browser followed a link, reloaded the page or used the back or forward button.
- Result or link. For a tool result, one word:
calibratewhen a card match is taken,crosscheckwhen a second object checks it, orprintwhen a printable sheet is sent to the print dialog. For a link, the name of the site it leads to, ormailtofor an email link. - Format. The version number of this list of fields.
- Country. The two-letter code of the country the request came from, such as
US, as the company that hosts this site already works it out to deliver the page, orXXwhen it cannot tell. Never a region, city, postal code or position. - Time. When the count was received, added by the service that stores it.
A count holds no cookie or other identifier, no IP address, no network name, nothing finer than the country, no browser or device details, no screen size, no calibration value or other measurement, no text you type, and no full referring address. Nothing in one count ties it to another count or to you, so the counts add up to totals per page and per day and cannot be joined into a history of one person's visits.
Where counts are kept. Counts are written to Cloudflare Workers Analytics Engine, a storage service of the company that hosts this site, which keeps each count for three months. Daily totals may be kept longer. Counts are read only as totals.
Turning it off. One click turns counting off in this browser, and a second click turns it back on:
The switch writes one entry, count-off, holding 1, to this browser's local storage for this site. While it is there, /count.js sends nothing at all, on any page; the second click deletes it. Clearing this site's data in your browser deletes it too, and turns counting back on. If your browser sends Global Privacy Control or Do Not Track, the script sends nothing at all without any click. Blocking /count.js with a content blocker does the same, and with JavaScript off nothing is counted. Every tool on the site works the same way without it.
Automated visitors. A count from software that names itself a bot or crawler is dropped, and so is a count from the hosting network our own test browsers run on: the code that receives a count compares the request's network number with that one network and stores neither. Other automated visits can still be counted, so the totals are approximate.
Hosting and server logs
The site is served by Cloudflare Pages. Like any web host, Cloudflare processes standard technical data (IP address, user agent, requested URL) to deliver pages, including the counts above, and to protect against abuse, subject to Cloudflare's privacy policy. The code that receives a count reads the user agent only to drop self-declared bots, and stores neither the user agent nor the IP address. Your calibration is not in any request.
Advertising
The site shows no advertising and loads no advertising script. Some pages reserve empty ad slots between sections of text, and none of them sits inside or beside a ruler face or a calibration control.
If you email hello@realsizer.com, your address is used solely to reply and is not added to any list. Please do not send photographs of the card you calibrate with. No step here needs one, and the Contact page lists what is useful in a report.
Children
The site is a general-audience utility and does not knowingly collect personal information from anyone, including children.
Changes and contact
The date at the top shows when this policy last changed. Privacy questions: hello@realsizer.com.