The Trust Builder

Privacy Policy

Last Updated: September 2026

Our Commitment

At PythonMastery.io, your code is yours. It runs in your browser, not on our servers, so we can't see it or store it.

Your code never leaves your browser. Pyodide (WebAssembly) runs it on your own device.

1. Information We Do Not Collect

Unlike traditional cloud-based IDEs, PythonMastery.io is a serverless application. We do NOT collect or store:

  • The content of your Python scripts.
  • The output and results of your code execution.
  • Uploaded datasets or created files.
  • Account details — there is no registration or login.

The one exception is the feedback form: if you choose to open it and send us a message, we receive whatever you type into it, including the name and email address if you fill those optional fields in. See Section 4.

2. Local Storage & Session Data

We use your browser's Local Storage to save your preferences (theme, editor settings) and session state (open files, code history). This data lives entirely on your device. We have no server-side database that mirrors or replicates it.

This site sets no cookies of its own. When analytics runs, Google Analytics sets its own cookies to recognise a returning visit — see Section 4 for when that happens and how to turn it off.

Data files you upload. If you load a CSV, JSON or other data file into the editor, it is written to storage on your own device, held by your browser, so it is still there when you come back. It is never sent to us or to anyone else — it does not leave your device. It is not a session cookie: it stays after you close the tab, quit the browser or restart the machine, until you remove it. Use the Clear data files button on the data row above the editor to delete every data file from this device at once, or the × on a single file. That button removes your uploaded data files only — it does not touch your code tabs, theme, editor history or lesson progress.

Other ways these files go away. Because they are ordinary site data, anything that clears site data for this site clears them too: Edge’s Clear browsing data with “Cookies and other site data” selected, deleting this site’s data from the padlock menu, or removing the browser profile. They live in one browser on one device, so another browser, another computer or a private window will not see them. A browser may also reclaim the space on its own if it runs low on disk, and if your browser refuses storage altogether the files are held only while the page is open — the data row says which is happening. See working with your own data for how uploaded files are read, listed and removed.

3. Transparency & Sharing

When you use our Share feature, your code is compressed and appended to the URL fragment. Clicking that link restores the state for the recipient. We do not store these shared snippets on our servers; they exist only in the generated link itself.

Embedded code boxes. A website can show one of our runnable Python boxes (see Embed Python). The code is carried in the box’s link in the same way, so we store nothing. The box sets no cookies, runs no analytics, and keeps nothing in the reader’s browser storage; Python is only downloaded, from jsDelivr, when the reader presses Run. What the reader types into the box stays in the box — the website around it cannot read it, and neither can we. If the reader follows the box’s “Open in full editor” link, or a “Run in PythonMastery” README badge, they arrive on this site like any other visitor, under the analytics rules in section 4; those links are labelled as coming from an embed or a badge.

4. Third-Party Services

To deliver a reliable, high-quality experience, we use the following third-party services:

  • Pyodide / WebAssembly: Runs CPython in your browser at near-native speed. No Python code is sent to any external server.
  • Google Analytics (GA4): Counts page views and visits so we can see how the site is used, with IP anonymisation and no advertising features. It never sees your code. In the EU, Iceland, Liechtenstein, Norway, the UK and Switzerland, where the law asks for your consent first, it runs only if you accept — decline, or ignore the question, and the script is never loaded. Everywhere else it is on by default, and the controls below turn it off. Which rule applies is decided by our host, Netlify, from the country of your connection; nothing else about you is looked up for it, and if it can’t be told, you are asked.
  • Google Fonts: Loads the Inter and JetBrains Mono typefaces from Google's CDN. Your IP address is shared with Google as part of this font request.
  • FormSubmit: Delivers the feedback form to our inbox. The message you write — and the name and email address if you supply them — passes through FormSubmit's servers. Nothing is sent unless you press Send Feedback.
  • Weather backdrop (ipapi.co and Open-Meteo): The editor's ambient weather effect needs a rough location. Your IP address is resolved to an approximate city — by our own edge function where available, otherwise by ipapi.co — and those coordinates are sent to Open-Meteo for the current conditions. No precise GPS location is requested and nothing is stored.
  • jsDelivr and the Tailwind CDN: Serve the Pyodide runtime, the editor, and stylesheets. As with any CDN, your IP address is visible to them as part of the download.

Analytics: not decided yet.

Turning it off stops it at once on this page and deletes the cookies it set. Your choice is kept in this browser’s local storage, not in a cookie.

 · 

That is the complete list. The site contacts no other external service. We currently serve no ads at all — when that changes, this section will name the ad network before a single ad loads.

5. Contact Us

Have questions about your privacy or want to collaborate? Reach out to the founder directly:

Contact: use the . It reaches the person who maintains this site.