← ONYX SYSTEMS
MARGIN — PRIVACY POLICY
August 2, 2026

Privacy Policy for Margin

01

What Margin is

Margin is a Python programming environment that runs inside your own browser tab, using a real Python interpreter compiled to WebAssembly (Pyodide). There is currently no account system and no server that your code is sent to — the Python you write, the files you upload, and everything your code prints or plots is computed on your own device and stays there.

02

What we don't collect

There is no analytics, no tracking pixel, and no error-reporting service wired into this app. We have no way to know you visited unless you tell us.

The code you write, or any file you open, edit, or delete inside a project
Any file you upload (CSVs or otherwise) — written into your browser's own in-memory filesystem, never transmitted
The output, values, or charts your code produces
Your name, email, or any account information — there is no account system yet
03

What's stored, and where

Margin remembers a small number of preferences — your chosen language, light/dark appearance, and whether you've seen the welcome screen — using your browser's built-in localStorage. This is written to your device only, and you can clear it at any time via your browser's site data settings. Your actual project code is not yet saved between visits at all — closing the tab or reloading currently loses unsaved work, the same as any offline editor with no save button pressed yet.

04

The few requests that do leave your browser

A handful of things are fetched from third-party services so the app can function at all. None of them receive your code or the contents of anything you run:

Google Fonts — loads the typefaces used across the site. Google's servers see a standard font request (your IP, browser, and which fonts), the same as any site using Google Fonts.
jsDelivr — serves the Python runtime and the package files (pandas, numpy, matplotlib, and anything else your code imports). It sees which packages were requested, not your code or what you did with them.
PyPI, only if you use “install from PyPI” — installing a package by name sends that package name to the Python Package Index to resolve and download it, the same as running pip install anywhere else.
05

About the Share button

The Playground currently has a Share button in its interface. It is not yet functional — clicking it does not upload, publish, or transmit your project anywhere. Real project sharing is planned but not built yet, and this policy will be updated first, before it ships, to explain exactly what that feature sends and to whom.

06

GDPR and similar law

Because nothing about your code, files, or activity is transmitted to us, we are not currently collecting or processing any personal data as a data controller under GDPR or similar law. There is nothing for us to access, correct, export, or delete on your behalf today, because we never had it in the first place.

07

What changes when accounts and billing exist

Margin plans to add optional accounts, cloud sync, and paid plans in the future. Once that exists, some information (an email address, subscription status, and whatever project data you explicitly choose to sync) will need to leave your browser to make those features work. We'll rewrite this policy to explain exactly what changes before any of that ships — not after.

08

Children's privacy

Margin does not knowingly collect personal information from anyone, including children, because it does not collect personal information from anyone at all today.

09

Changes to this policy

If this policy changes, we'll update the effective date above. Material changes — especially anything that starts sending data off your device — will be called out clearly, not buried in a version bump.

Questions about this policy: konstantin.hordx@gmail.com
Third-party processors: Google Fonts (typefaces), jsDelivr (Python runtime & packages), PyPI (only when you install a package by name).
This policy is mirrored in the app's own Privacy page and kept in sync with each release.
/privacy/margin