Privacy
Last updated: 8 November 2026
The short version: there are no accounts and no cookies. Your progress and your code stay in your own browser. We count visits anonymously. If you sign up for emails, we keep your email address until you unsubscribe, and nothing else about you. Feedback and bug reports are anonymous unless you add your name or email, and are deleted once they've been read.
Who runs this site
Visualized ML is run by Mรกrton Szalai, Hungary. For anything about your data, or anything else, write to contact@visualizedml.com.
Your progress and your code stay in your browser
Each challenge's status, the code you write and your layout settings are saved in your browser's local storage, so they're there when you come back. They are never sent to us. Your code also runs entirely in your browser: Python runs on your computer, not on a server. Clearing this site's data in your browser deletes all of it.
Anonymous visit statistics
We use Cloudflare Web Analytics to see how many people visit and which challenges they open. It sets no cookies and doesn't follow you across sites. It records things like the page address, the site you came from, your browser type and your country, and we only see them added up. We use these numbers only to improve the site (our legitimate interest, as the GDPR calls it).
Email signups
If you sign up for emails about new challenges:
- What we keep: your email address, whether you've confirmed it, when you signed up and confirmed, and two random codes for the links in our emails (confirm and unsubscribe). Nothing else: no name, and we don't track whether you open our emails or click their links.
- Why: to send you one email to confirm the address, and after you confirm, an email when new challenges are out. We do this because you asked for it (your consent, as the GDPR calls it), and you can take it back at any time by unsubscribing.
- How long: an address that isn't confirmed is deleted after 7 days. A confirmed one is kept until you unsubscribe, and unsubscribing deletes it completely.
- Where: the list is kept in a Cloudflare database (see Hosting). The emails are sent by Resend, a US company, which handles your address and the email to deliver it.
- To delete it: use the Unsubscribe link in any of our emails, or your mail app's Unsubscribe button, or write to contact@visualizedml.com.
The spam check. When you click into the email field, your browser loads Cloudflare Turnstile, which checks that a real browser is filling in the form, usually without you noticing. To refuse more than 5 signups an hour from one place, we keep a scrambled code made from your IP address for one hour. It can't be turned back into the address and changes every day. We never store the IP address itself.
Feedback and bug reports
You can send feedback on a challenge, on the site, or report a bug. They are anonymous unless you type your name or email into them.
- Challenge feedback: your ๐ or ๐, how hard it was, your comment and your name if you write them, and where you were: which challenge, whether it's solved and how many tests pass. Never your code.
- Site feedback: what you write, your name and email if you give them (the email only so we can reply), and which page you sent it from.
- Bug reports: what you write, your email if you give it, and technical details that the form shows you before you send it: the page and challenge, your browser and its version, your operating system, the window size and zoom, whether Python loaded, and the site's own last error messages on that page. Your code is sent only if you tick "Include my code".
- Why: to make the challenges and the site better (our legitimate interest). A name or email is there because you chose to add it.
- Where and how long: it waits in the Cloudflare database (see Hosting) until it's moved to the computer of the person who runs the site, usually within an hour. It's kept there until it has been read and dealt with, then deleted. Names and emails are deleted after 90 days at most, even if it hasn't been dealt with yet. All that stays afterwards is an anonymous count of the ๐, ๐ and difficulty votes for each challenge.
- Spam check: the same as for email signups above: Cloudflare Turnstile, and a scrambled code instead of your IP address, kept for an hour, to allow at most 10 an hour from one place.
- To have it deleted sooner: write to contact@visualizedml.com with roughly what you sent and when.
Hosting
The site is hosted on Cloudflare Pages. Like every web host, Cloudflare handles your IP address to deliver the pages and to protect the site from attacks (Cloudflare's privacy policy).
Code libraries loaded from other servers
To run challenges, your browser downloads Python (Pyodide) and NumPy from jsDelivr, and the code editor (CodeMirror) from cdnjs, which Cloudflare runs. Your browser connects to them directly, so, like any website you visit, they see your IP address and which files were requested.
Your rights
Under the GDPR you can ask what data we hold about you, and have it corrected or deleted. Unless you signed up for emails or added your name or email to feedback, we hold nothing that identifies you, but you're welcome to ask at contact@visualizedml.com. You can also complain to your country's data protection authority.