WHAT THIS ARTICLE DOES AND DOES NOT TELL YOU✓A scan is turned into an event at our edge. The IP address is used to derive a location and is then discarded.✓Unique visitors are counted with a keyed hash whose key changes every day.✓The build fails if a raw-IP column appears in any datastore.✓The cost: no unique visitors across days, and no going back to an address later.
What happens when a code is scanned
A scan of a dynamic code reaches our edge — the redirect service on qrrd.in — which answers with the destination at once and records the scan afterwards, so recording never delays the redirect. The edge already knows the country, region and city the request came from, from the network data that arrives with it. That is the location the event keeps.
The event also keeps the device type, operating system, browser, language, referring domain and campaign tags. It does not keep the IP address. No cookie is set and no script runs on the scan path.
Counting unique visitors without remembering anyone
To tell ten scans by one person from ten people, the edge computes a hash of the IP address and browser string, keyed with a secret that includes the date. Within a day, the same visitor produces the same hash; the next day the key changes and the hash changes with it. Because it is keyed, the hash cannot be reversed by trying every address, and because the key rotates, it cannot be followed from one day to the next.
A scan becomes a place, a device and a daily hash. The address never leaves the edge.
Making it impossible to forget
A rule that depends on remembering it gets broken on a busy day. So this one is checked: our build runs an audit of every datastore schema and fails if a column that looks like a raw IP address appears. A change that would start storing addresses cannot be deployed without someone deliberately removing the check.
What it costs
We cannot count unique visitors across days or weeks — a person who scans on Monday and again on Friday is two visitors. We cannot go back to an old scan and look up where it came from in more detail. Location is as precise as the network data, which is usually a city and sometimes only a country.
We think that is the right trade. A QR code is scanned by people who never agreed to anything with us — they pointed a phone at a sign. The least we owe them is not to keep the one identifier that leads back to their connection.
What this article is not
It describes our redirect service. Customers’ own hosted pages and forms are covered in the privacy notice.
It is not a security certification; it describes the design and the check that enforces it.
Read the privacy notice
What we collect, what we do not, how long we keep it, and how to exercise your rights.
We’d like to count visits with Google Analytics and see where pages confuse people with Microsoft Clarity. Both set cookies, and nothing loads until you choose. Anything you type stays hidden from recordings.
Change it any time from “Cookie settings” at the foot of every page. Cookie policy