Privacy at The Rusty School 🔍
A school should model good behavior. This page describes everything this site stores, in plain English. It is short because the list is short. The site is open source, so every claim here can be checked against the code.
Without an account (the default)
- Your lesson progress, quiz scores, and theme choice live in your browser's localStorage. They never leave your device.
- No analytics scripts, no tracking pixels, no third-party cookies, no ads.
- The site is hosted on Cloudflare Pages, which handles web requests the way any host must (transient logs to serve traffic); we add nothing on top.
The public counter
The home page shows how many lessons have been completed worldwide. When you complete a lesson, your browser sends one anonymous ping: the lesson's name and nothing else. No account, cookie, IP, or identifier is stored with it. Each browser reports a given lesson at most once, and if your browser sends the Do Not Track signal, the ping is skipped entirely, on both the client and the server.
With an account (optional)
If you choose to sign in with GitHub or Google, we store exactly:
| Field | Example | Why |
|---|---|---|
| provider | github | which button you pressed |
| provider id | 8888336 | recognizing you next sign-in |
| display name | Chris | greeting you |
| avatar URL | https://…/avatar.png | showing your picture |
| progress | {"done":["01-hello-world"]} | the point of the feature |
What we deliberately do not collect, even though the sign-in buttons could ask for it: your email address, your contacts, your repositories, or any posting permission. The Google scope is "openid profile" only; the GitHub app requests no scopes at all.
Sessions
Signing in sets one cookie, rusty_session, holding a random
token. It is HttpOnly, Secure, and SameSite. The database stores only a hash
of it. Signing out deletes the session server-side, so the cookie becomes
worthless immediately.
Your controls
- See and download everything: the account page has a one-click "Download my data" button. The file is small. That's the feature.
- Delete everything: the account page's delete button erases your row and sessions immediately and permanently. No grace period full of guilt-trip emails; we don't even have your email.
- Never sign in at all: the full curriculum, quizzes, and local progress tracking work without an account, forever.
Changes
If this policy ever changes, the change lands as a public commit in the site's repository with a clear message, and this page is updated the same moment. History is auditable, like everything else here.
Questions? Open an issue on GitHub.