🐘

Privacy, in plain words

Effective July 10, 2026

The short version: Gray doesn't know who you are, and likes it that way. No accounts, no ads, no cookies, no data sold — ever. Course progress stays in your own browser, and what you (or your kid) type in the course never leaves your device.

What stays on your device

The browser course saves a few things in your browser's local storage so it can pick up where you left off:

None of this is ever transmitted anywhere. It belongs to you: the Start over button on the play page erases the course data, and clearing your browser's site data removes everything.

Counting visits

We count visits with GoatCounter, chosen because it uses no cookies and no persistent identifiers. When a page loads, GoatCounter's server briefly processes a standard web request (page visited, referrer, browser type, screen size, and country-level location) to add +1 to an aggregate count. It does not build profiles of visitors, and neither do we — the homepage number is the whole point. See GoatCounter's own privacy documentation for details.

The downloadable course

gray.py and gray.lua run entirely on your own computer, offline. The only network use is a quick check of gray.academy at startup for a newer version of the course — a normal web request that sends nothing about you and fails silently without internet. Setting GRAY_NO_UPDATE=1 turns it off entirely. There is no telemetry: the course never reports what anyone types, learns, or builds.

Playing in the browser

The browser course runs Python and Lua inside your browser — code you type is executed on your device, not on a server. To make that work, the page loads the language engines from the jsDelivr open-source CDN, whose servers see a standard web request when the files download. What you type into the course is never sent to us, to jsDelivr, or to anyone else.

Made for kids

Gray is built for children, so it's designed to collect nothing personal: no names, no emails, no accounts, no chat, nothing typed in a lesson ever leaves the device. Parents: the entire course is open source, so you can read every line of what your kid is running.

Questions or changes

If this page changes, the date at the top changes with it. Questions or concerns are welcome as issues on the GitHub repository.