Privacy Policy
Last updated . This policy describes how the List Randomizer site handles data as it works today: the lists you paste, share links, downloads, feedback and analytics.
Short version
- The site sets no cookies of its own and shows no ads.
- Your list is split, shuffled, grouped and matched by JavaScript in your browser. It is not uploaded, and it is not sent to my server or to analytics.
- While the tab is open, the list and your settings are kept in the tab’s session storage so a reload doesn’t lose them. Closing the tab clears it.
- A share link contains your list and result inside the address, after the
#sign. Browsers don’t send that part to any server, but anyone you give the link to can read the list. - I count page views and button use with my own analytics under a random ID. It never includes the items on your list or the seeds you type. You can turn it off on this page, and browsers that send Global Privacy Control are never counted.
- A feedback message is stored only if you write one and press send.
- I don’t sell or share personal information, and I don’t use it for advertising.
Who runs the site
List Randomizer is run by an independent developer, not a company (“I”, “me” in this policy; see About). I decide what the site collects and why, so I am the controller responsible for that data. To contact me about privacy, including any of the requests under “Your rights”, use the Send feedback button on the contact page. There is no public email address.
What is collected at a glance
| What | Where it is kept | Why | How long |
|---|---|---|---|
| The lists you paste, your settings and seed | Your browser’s memory and this tab’s session storage | To produce the result and survive a reload | Until you close the tab or clear the box |
| Your last result (up to 20,000 items) | Your browser’s memory and this tab’s session storage | To show, copy, download and present it, and to keep it through a reload | Until the next draw, Clear the list, or closing the tab |
| Share links you create | Inside the link itself, wherever you paste it | To let someone open the same result | As long as the link exists; I can’t delete it |
| Analytics events (page, button, outcome, counts, random IDs) | My analytics database on Supabase | To see what people use and what fails | Reviewed for deletion at least once a year |
| Your analytics opt-out choice | Your browser’s local storage | To remember that you turned analytics off | Until you clear this site’s data |
| Feedback message, website domain, page path | My feedback database on Supabase | To read and act on your message | Until dealt with; reviewed at least once a year |
| IP address for the feedback limit | The feedback service on Supabase | To limit spam | Only for the rate-limit check |
| Request logs (IP address, browser, time, address requested) | Vercel and Supabase | Delivering pages, security, fixing faults | Each provider’s log retention |
The lists you paste
Everything the list randomizer does with a list happens on your device: splitting it into items, removing duplicates, shuffling, drawing winners, making groups and matching two lists. The random numbers come from your browser’s own cryptographic generator, or from the seed you typed. No request containing your list, your seed or your result is made to my server or anyone else’s.
The same goes for a file you open with Open a file or drop on a box (.txt, .csv, .tsv or Excel .xlsx). Your browser reads it from your device, the page turns the columns you choose into lines in the box, and the file itself is never uploaded. The page keeps no copy of the file, only the text it put in the box: after a reload that text comes back, but the file, its name and the columns you didn’t choose are gone. For teachers, this means student names and roster files stay on your computer; the site never receives student records, so there is nothing of them for me to store, share or delete. I can’t tell you whether your school or district asks you to get tools approved before using them with a class list (many US districts do, under FERPA or state student-privacy laws); that is your school’s rule to check. What you can tell them is what this page says: the names stay in your browser, no account is needed, and what reaches me is usage counts tied to a random ID (plus the request logs any website gets, and feedback only if you send it), never names or files.
So that a reload doesn’t wipe a long class list, the text of both boxes, the mode, your settings (separator, duplicates, winners, groups, seed, header row) and your last result (if it has 20,000 items or fewer) are saved in this tab’s session storage under list-randomizer:draft, a moment after you stop typing and again when you leave the page. Session storage belongs to one tab: other tabs can’t see it, it isn’t sent anywhere, and the browser deletes it when you close the tab. Lists over about two million characters are not saved. Press Clear the list (under More options) to empty the boxes and the result; the saved draft follows.
Lists often contain names, and sometimes usernames or email addresses. Because they stay on your device, I never receive them. If you are a teacher or run a club, you don’t need to send anyone’s data to me to use the site.
Share links
When you press Share link, the page packs the list, the settings, the exact order, the seed (if any) and the date and time of the draw into the address, compresses it and copies it to your clipboard. All of it sits after #r=. Browsers never send the part after # to a web server, so opening a share link doesn’t give the list to me, to Vercel or to analytics; analytics records page paths without that part.
The link itself is not secret. Anyone who has it can open the list and the result, and apps that preview links (chat apps, email) may read the whole address. Share links can’t expire and I can’t delete them, because they aren’t stored anywhere but where you paste them. Don’t share a link to a list you wouldn’t share as text. While a shared result is on screen, the #r= part stays in the address bar, so a reload or a bookmark shows the same result again. It is removed as soon as you edit the list or make a new draw.
Copy, downloads and Present
Copy puts the result on your clipboard. Download builds the CSV or text file in your browser and saves it to your device; nothing is uploaded. Present opens a view that fills the screen (using the browser’s full-screen mode where it is allowed) inside the same page. None of these send your list anywhere. Analytics notes that a button was used (for example “download, csv”), not what was in the file.
The site’s fonts are bundled into the site and served from my domain, so your browser doesn’t contact Google Fonts or any other font service.
Feedback you send
The Send feedback button opens a short form. Nothing is sent while you type. Only if you press send, these details go to my feedback service, which runs on Supabase, and are stored so I can read and handle the message:
- the message you wrote, exactly as you wrote it;
- this website’s domain and the path of the page you were on, without any query string or
#part.
The form doesn’t ask for your name or email. If you want a reply, include a way to reach you in the message; I will use it only to answer you. To limit spam, the feedback service caps how many messages one network can send per hour, so it processes your IP address to apply that limit. Please don’t include passwords, payment details, other people’s personal data or other sensitive information in a message. If a result looks wrong, a description of the settings is more useful to me than the list itself.
Analytics
I run my own analytics service, hosted on Supabase, to learn which features people use and where the site fails. It is not Google Analytics and it is not shared with any advertising network. It records:
- page views, with the page path only (nothing after
?or#); - time on the page and how far you scrolled;
- clicks on labelled buttons and controls;
- the outcome of the main actions, as a short code and a count: a draw (the mode, such as shuffle or groups; how many items; whether a seed or browser randomness was used), copying (plain or numbered), downloading (CSV or text), creating a share link and opening one (mode and item count), opening Present, and opening a file (only its type from a fixed list: txt, csv, tsv, xlsx, xlsm, xls, doc, docx, pdf, image or other; and whether it could be read; never its name or contents);
- a random visitor ID, a random session ID and the time.
It does not record the items on your list, the text you type, seeds, results, the text of feedback, your name, your email or anything else that identifies you, and it doesn’t store your IP address as a way to identify you. The visitor ID is kept in your browser’s local storage and the session ID in session storage, both under keys starting with wa_. They are random, are not linked to any account and are not used on other websites.
The analytics script is loaded from my Supabase project on every page, so Supabase receives your IP address and browser details when your browser fetches the script, as any web server does, even if you have turned analytics off. There is no consent banner: analytics is limited to the items above, is used only to improve this site, and can be switched off here at any time.
Turning analytics off stops all events and deletes the wa_ IDs from this browser. Your choice is saved in local storage under list-randomizer:analytics-off, so it applies only to this browser on this device. If you clear this site’s data, the choice is cleared too.
Cookies and browser storage
The site sets no cookies of its own. It uses your browser’s storage as listed below, and you can clear all of it at any time in your browser’s settings.
| Key | Type | Purpose |
|---|---|---|
list-randomizer:draft | Session storage | Your lists, settings and last result, so a reload keeps them; cleared when the tab closes |
wa_… (visitor ID) | Local storage | Analytics visitor ID |
wa_… (session ID) | Session storage | Groups one visit’s events; cleared when the tab closes |
list-randomizer:analytics-off | Local storage | Remembers that you turned analytics off |
Hosting and server logs
The site is hosted on Vercel. Like any web host, Vercel processes your IP address, browser details, the time and the address requested in order to deliver pages, keep the service secure and diagnose faults, and keeps request logs for its own retention period. Those logs never contain your list, because the list is never sent, and they don’t contain the # part of a share link.
Service providers and transfers
- Vercel: hosting.
- Supabase: the analytics service and the feedback service, as my processor.
These providers may process data in the United States and other countries outside your country. Where data protection law requires it, transfers rely on the providers’ standard contractual clauses or similar safeguards.
Why the data may be used
Where the GDPR or a similar law applies, the legal basis is legitimate interest: running the site, keeping it secure, understanding which features are used and what fails so it can be fixed, and answering feedback. Feedback is sent only when you choose to send it. I balance these interests against yours by collecting the minimum listed here, keeping your lists on your device and letting you turn analytics off.
Sharing and selling
I don’t sell personal information, rent it or share it for targeted advertising, and I don’t combine it with data from other sources. Apart from the service providers above, I would disclose information only if the law required it, to protect the site or its users from fraud or abuse, or as part of a transfer of the site to a new owner, who would stay bound by this policy for data collected under it.
How long data is kept
- Your lists, settings and last result: only in the open tab; the session-storage draft is deleted when you close it.
- Share links: wherever you pasted them, for as long as they exist there. I hold no copy.
- The analytics visitor ID and your opt-out choice: in your browser until you clear this site’s data. The session ID: until you close the tab.
- Analytics events: only as long as they help me improve the site, reviewed for deletion at least once a year. There is no automatic deletion schedule. I may keep totals with no IDs in them, such as draws per day, for longer.
- Feedback messages: until they have been dealt with, and reviewed for deletion at least once a year.
Security
The site is served only over HTTPS. Lists are never transmitted. Items are always shown as plain text, so a list containing code or markup can’t run anything on the page. Analytics events and feedback are written through narrow interfaces that accept new records but don’t let a visitor read anyone else’s data, and access to the stored data is limited to the person who runs the site. No system is perfectly secure.
Your rights
Depending on where you live, for example under the GDPR, the UK GDPR or US state privacy laws, you may have the right to ask whether I hold information about you, to get a copy of it, to have it corrected or deleted, to restrict or object to how I use it, and to withdraw a choice you made. You won’t be treated differently for using these rights.
To make a request, use the feedback form and say what you want. Because I don’t collect names or accounts, I can usually only find a feedback message if you tell me roughly what it said and when you sent it, and I can only find analytics events if you give me the visitor ID from your browser’s storage (the wa_ key). I hold no lists, so there is nothing of that kind to export or delete. I act on requests within one month; include a way to reach you if you want a written answer. If you are in the EEA or the UK, you can also complain to your local data protection authority.
US state privacy laws
In the past 12 months I have collected, as described above, internet activity on this site (analytics events and server logs) and the content of feedback messages people chose to send. I have not sold personal information or shared it for cross-context behavioral advertising, and I don’t use or disclose sensitive personal information. Residents of California and other states with similar laws can make the requests described under “Your rights”.
Global Privacy Control and Do Not Track
If your browser sends a Global Privacy Control (GPC) signal, analytics never starts and no wa_ IDs are created; I treat it as a valid opt-out. There is no common standard for Do Not Track, so the site doesn’t act on it separately; use the switch above or GPC instead.
Children
The site is used in classrooms, often by a teacher with a roster, but it isn’t directed at children and doesn’t knowingly collect personal information from anyone under 13 (or the minimum age where you live). Class lists stay on the teacher’s device. If you think a child has sent personal information in a feedback message, tell me through the feedback form and I will delete it.
Links to other sites
Pages on this site may link to other websites. Those sites have their own privacy practices, which this policy doesn’t cover. Links to other sites are marked nofollow and open without passing your list along.
Changes to this policy
When the site changes what it collects, I update this policy and the date at the top before or when the change goes live. If a change would use data already collected in a new way, I will say so on the home page as well.