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

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

WhatWhere it is keptWhyHow long
The lists you paste, your settings and seedYour browser’s memory and this tab’s session storageTo produce the result and survive a reloadUntil 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 storageTo show, copy, download and present it, and to keep it through a reloadUntil the next draw, Clear the list, or closing the tab
Share links you createInside the link itself, wherever you paste itTo let someone open the same resultAs long as the link exists; I can’t delete it
Analytics events (page, button, outcome, counts, random IDs)My analytics database on SupabaseTo see what people use and what failsReviewed for deletion at least once a year
Your analytics opt-out choiceYour browser’s local storageTo remember that you turned analytics offUntil you clear this site’s data
Feedback message, website domain, page pathMy feedback database on SupabaseTo read and act on your messageUntil dealt with; reviewed at least once a year
IP address for the feedback limitThe feedback service on SupabaseTo limit spamOnly for the rate-limit check
Request logs (IP address, browser, time, address requested)Vercel and SupabaseDelivering pages, security, fixing faultsEach 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 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:

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.

KeyTypePurpose
list-randomizer:draftSession storageYour lists, settings and last result, so a reload keeps them; cleared when the tab closes
wa_… (visitor ID)Local storageAnalytics visitor ID
wa_… (session ID)Session storageGroups one visit’s events; cleared when the tab closes
list-randomizer:analytics-offLocal storageRemembers 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

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.

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

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.

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.