Privacy policy
Last updated
This describes what plugref.com does with personal data, written from the system as it is built rather than from a template. Where a section describes something that is not deployed yet, it says so.
The short version: getting a code needs no account and no cookie, your IP address is never stored, and what is kept in its place is a salted hash that is deleted within days and cannot be followed from one day to the next.
not yet live This describes processing the deployed site does not perform yet. It is written now so the document is complete when the feature ships, and marked so nobody reads it as a description of today.
Who is responsible
plugref.com is run by Daniel Kapitany as an individual. There is no company behind it and no staff. For anything in this document — a question, a request to see or delete your data, or a complaint — write to abuse@plugref.com and you will reach the person who runs the site.
What the site does today
The site currently serves static pages. The part that hands out codes is not switched on yet, and neither is the analytics counter, accounts or email. Sections below that describe those are marked, and none of that processing is happening while the mark is there.
What does happen today: pages are served through Cloudflare's network, which necessarily sees your IP address in order to deliver them, and your theme preference is saved in your own browser if you change it.
Getting a codenot yet live
When you ask for a code, the site needs to recognise that you have already had one today, so that asking twice returns the same code rather than draining the pool. It does that without storing anything that identifies you.
Your IP address is combined with a secret value that changes every day, and the result is put through SHA-256. Only that hash is stored. The raw address is never written down. Because the secret changes daily and is then discarded, the hash cannot be turned back into an address, and the hash of the same address on two different days does not match — so it cannot be used to follow anybody across days.
- Stored: the salted hash, which brand you asked about, the calendar day, and which code you were given.
- Why: to return the same code to the same visitor on the same day, and to make bulk extraction of the database expensive. Our legitimate interest in keeping the service usable and the data intact — Article 6(1)(f) GDPR.
- Not stored: your IP address, your browser's user agent, your location, or anything you could be recognised by.
How long that is keptnot yet live
The hash is recorded against a UTC calendar day, and a scheduled job deletes every record whose day is more than two days old. A record therefore lives at least about two days and no more than about four, depending on the time of day it was created and when the job next runs.
We state the mechanism rather than a single figure on purpose. The design goal was 48 hours, but the table is day-granular and swept on a schedule, so quoting a flat 48 hours would be a promise the implementation does not keep. The bound above is the one it does keep.
The daily secret is itself discarded after about 48 hours. Once it is gone, nobody — including us — can recompute the hash from an IP address, so any record still awaiting deletion is already unlinkable to a person.
The bot checknot yet live
Requests for a code pass through Cloudflare Turnstile, which decides whether the request came from a person or a script. Turnstile is a challenge, not a tracker: it sets no advertising identifier and is not used to build a profile.
To answer that question, Cloudflare receives your IP address and technical signals about your browser. Cloudflare acts as our processor for this. Without it the code database would be copied by the first script that found it, which is the risk the whole service is built against.
Reporting a code that does not worknot yet live
If you report a code as broken, the report records which code, an optional reason, the same salted hash described above, and the day. The hash is there so that one person cannot report the same code repeatedly and have it counted as many different people. It is subject to the same deletion schedule.
What is kept in your browser
The site sets no cookies. Two things are written to your browser's local storage, and neither is ever sent to us or to anybody else:
- Your light or dark theme preference, written when you use the theme switch.
- A code, written only if you press save on one. You can delete it from the same place you saved it, and clearing your browser data removes it.
Why there is nothing to consent to
Storing something on your device generally requires your permission unless it is strictly necessary for something you asked for. Both entries above are written as the direct result of an action you took — pressing the theme switch, pressing save — and do nothing else. There is no third case: the analytics described below stores nothing on your device at all, which is why this site has no cookie banner and no consent gate.
Analyticsnot yet live
Page views are counted using Umami, an open-source analytics tool. The instance is self-hosted at stats.uikraft.com on infrastructure run by the same person who runs this site. It is not a third-party analytics service, it is not Google Analytics, and no data about you is sent to another company for this purpose.
We are pointing this out because you would otherwise see a request to a hostname that is not plugref.com and reasonably assume a tracker. It is the same controller, and there is no additional recipient of your data.
Umami is cookieless. It sets nothing on your device and assigns you no persistent identifier, which is why it is loaded on every page with no consent gate. Lawful basis: our legitimate interest in knowing whether the site is being used — Article 6(1)(f) GDPR.
- Recorded: the page viewed, the referring page, screen size, and a short list of coarse interaction events such as a code being requested or a link being opened.
- Never recorded: a referral code, a referral link, an email address, or any identifier for you.
Network and server logs
Every request to this site passes through Cloudflare's network, which processes IP addresses in order to route traffic, cache pages and block attacks. That is inherent to the site being reachable at all. We do not operate a request log of our own and do not have per-request logs available to us on the plan the site runs on.
Accounts, for people who share a codenot yet live
Sharing a code will require an account. When that exists, the account will hold your email address, your name and profile image as provided by the sign-in provider, the country you select, and whether you asked to receive anything beyond the code reminders. It is kept for as long as the account exists.
Lawful basis: performance of the arrangement you entered into by signing up — Article 6(1)(b) GDPR — except for optional marketing email, which is on consent you give separately and can withdraw at any time.
The codes you submit are not personal data about you in themselves, but they are linked to your account. Deleting your account removes the link and the account data.
Emailnot yet live
Reminder and confirmation emails will be sent through Resend, which acts as our processor. Resend receives your email address and the content of the message in order to deliver it.
Backupsnot yet live
Database backups will be written to Cloudflare's object storage and additionally pulled to a private machine on the operator's own network. That machine never serves public traffic and accepts no incoming connections; it only fetches copies outward. This is named because a backup on a second machine is a place your data lives, and a policy that omits it is incomplete.
Who else handles the data
Two companies process data on our behalf. Neither is permitted to use it for its own purposes.
- Cloudflare — hosting, the network, the database, the key store and the bot check. It handles essentially everything technical about the site.
- Resend — sending email. This applies from the point the site sends any email, which it does not do yet.
- The analytics instance at stats.uikraft.com is not on this list, and that is deliberate rather than an omission: it is run by the same controller, so it is a place we process data ourselves, not a third party receiving it.
Transfers outside the EEA
Cloudflare is established in the United States and operates globally, so data it handles for us may be processed outside the European Economic Area. Its Data Processing Addendum applies the European Commission's standard contractual clauses to those transfers, and forms part of the self-serve agreement rather than needing to be signed separately, so it is in force for this site today.
Resend would be a second processor, for the renewal emails described above. It is not in use yet, and this section will name its transfer safeguards when it is rather than describing an arrangement that does not exist.
Your rights
You have the right to ask what personal data we hold about you, to have it corrected, to have it deleted, to restrict or object to how it is used, and to receive it in a portable form. Write to abuse@plugref.com and say what you want; you do not need to use any particular wording.
One honest limitation. If you have only ever taken a code, we hold a salted hash and no way to connect it to you: we cannot identify your record from your email address, and asking you for your IP address in order to find it would mean collecting more about you than we currently have. Those records delete themselves within days regardless. If you have an account, everything attached to it can be found and deleted on request.
If you think we have handled your data badly, you can complain to the data protection authority in the country where you live or work. Ours is the Information Commissioner of the Republic of Slovenia (Informacijski pooblaščenec, ip-rs.si), and you may complain there instead if you prefer. You are welcome to raise it with us first, but you are not required to.
Automated decisions
Parts of the site are automatic: which code you are given is drawn at random, a repeated request is recognised by the hash, and a code that several people report is paused without anyone reviewing it. None of this produces a legal effect on you or anything similarly significant, and none of it is profiling. There is no automated decision-making of the kind Article 22 GDPR covers.
Changes to this policy
The site is being built, so this document will change as parts of it are switched on — in particular, the sections marked as not yet live will lose that mark. The date at the top is the date of the last change.