Privacy
policy

Azadira runs in your browser. Your code is executed and graded on your own device: grading needs no server, so solving problems on your own sends us nothing.
It is a different matter once other people are involved — a board, a contest, or a problem report sends your code to us, and this page says so plainly.
This page says exactly what is stored, where, for how long, and how to switch it off or take it with you.
Last updated: 14 October 2026 · see also the Terms of Use

The short version

  • Azadira is run by one person, named under Contact, who decides what is collected and why. The University of Notre Dame owns the copyright in the software but does not operate the site and holds none of this data.
  • Azadira sets no cookies. None at all.
  • Your work is graded by Python running inside your browser. Nothing is sent to us to mark it — not with an account, not without one.
  • Three things do send your code to us, and only these three: joining a multi-player board, entering a contest, and reporting a problem. Each is something you choose to do, and each is described below. Practising on your own is not one of them.
  • Progress is kept in your browser’s local storage. You can export it, and clearing site data erases it.
  • A cloud account is optional. It exists only to carry your progress between devices, and it is created with Sign in with Google — we never see or hold a password.
  • We count visits anonymously, with a random identifier and no address or device fingerprint. If your browser sends Global Privacy Control or Do Not Track we count nothing, and you can switch counting off in Display settings.
  • We do not sell data, do not advertise, and use no third-party analytics or trackers.

What stays on your device

Azadira stores three items in your browser’s local storage, and nothing in cookies:

  • Your player profile and progress — the name you chose for yourself, which problems you have solved, your stars, times, streaks, ratings and achievements, your drafts and solutions, and your display settings.
  • The address of the relay server the site should talk to, if you changed it.
  • A note of questions already asked, so the site does not ask twice.

This data is held by your browser under azadira.com and is not transmitted to us unless you sign in to a cloud account, join a board or contest, or report a problem. It is visible to anyone with access to that browser profile. Clearing site data deletes it permanently; you can export a copy first from the player menu.

The Python runtime and the editor libraries are downloaded from a public content delivery network and cached by your browser; see Who else is involved.

If you make a cloud account

Cloud accounts are optional and exist so your progress follows you between devices. They are created only through Sign in with Google. We store:

  • Google’s stable identifier for your account, and the verified email address Google supplies;
  • a username derived from that email, and a display name;
  • the date the account was created;
  • one progress document — the same progress described above, as a single record;
  • for each signed-in session, a hash of the session token and the dates it was created, last used and expires. The token itself is never stored.

There is no password anywhere in the system. Sessions expire after 180 days without use. Repeated failed sign-ins are rate-limited using your network address, which is held in memory only and never written to the database.

You can delete your account and everything stored with it from the player menu, by typing your username to confirm. Deletion removes the account, its progress, its sessions, its contest history and its ratings.

Multi-player boards and contests

These features necessarily involve other people, and they are the main case in which your code leaves your device.

For a board we store the board’s settings, the display name you join under, a join token, when you joined, your last activity time so others can see you are present, and for each solve: the problem, the time, the code you submitted, your style score and token count, how many tests passed, whether the host’s browser re-verified it, and for open-ended problems the quality your browser measured. If you leave the window during a run, we record that the run ended and why.

Your submitted code is visible to the host of the board, whose browser re-runs it to verify the result, and may be visible to other participants in the standings. A board and everything recorded on it — participants, solves and submitted code — are deleted thirty days after the board was created.

Contests additionally record when your run started and finished, your rating before and after, and each check or solve during the run, including the code you submitted. If a host grants you an accommodation — extra time, or exemption from the focus rule — that is stored against your participation and is visible only to the host and to you.

Canvas and your school

If your institution connects Azadira to its learning management system, each launch sends us an identifier for you from the platform, your name as the platform supplies it, your roles in the course, whether you are an instructor, the course identifier and title, and the assignment settings your instructor chose. We store which problems you solved under that assignment, with stars and style score, and we send your score back to the gradebook.

In this setting the operator acts on behalf of your institution. Those records may be education records under FERPA or comparable law, and your institution’s policies govern them. Direct access and correction requests to your institution.

Reporting a problem

Reporting a problem requires a cloud account, so that reports can be answered and abuse limited. We store your message, which problem it concerns, the kind of report, and the code in your editor at the time, so the fault can be reproduced. The report is linked to your account, and the administrator reading it sees your display name and the email address on the account alongside your message and your code. Reports are kept after they are dealt with. If you delete your account, the report stays but is unlinked from you and the code you sent with it is erased.

Anonymous statistics

To know which problems work and which defeat people, the site counts activity. What is sent is deliberately thin:

  • a random identifier generated in your browser, and a second one per tab — not derived from anything about you or your device;
  • the kind of page, and on a problem page the problem’s identifier;
  • on the first page of a visit, whether the device is a phone, tablet or desktop, and the host name of the site you arrived from;
  • whether you are signed in to a cloud account, as a yes or no;
  • events while you work: a check, a solve, help used, a coach note shown, and a rated outcome with the rating values involved;
  • seconds with a page open and visible.

We never store your name, your network address, or your user agent with these. Your address is used only in memory, to rate-limit the endpoint. The records are aggregated by day.

If your browser sends Global Privacy Control or Do Not Track, nothing is sent at all. You can also turn counting off in Display settings.

Who else is involved

  • jsDelivr serves the Python runtime (Pyodide) and the editor libraries. Your browser requests files from it, which means it sees your network address as any file host would. We send it nothing about you.
  • Google Fonts serves two typefaces, on the same basis.
  • Google handles Sign in with Google, and only when you choose to sign in. Google’s own privacy policy applies to that exchange.
  • Render hosts the site, the relay server and the managed PostgreSQL database in which accounts, progress, board and contest records are stored. Render’s facilities are in several countries, so if you are outside the United States your information may be processed outside the country you live in. No University of Notre Dame systems or accounts are involved.

There are no advertising networks, no third-party analytics, no social media trackers and no data brokers.

How we use what we hold

To operate the site: to keep your progress, to run boards and contests, to return grades to a gradebook, and to keep the service available and secure. To improve the material: to find problems that are broken, badly worded or wrongly rated, and to measure how well the generated tests distinguish a correct solution from a plausible wrong one.

Aggregated, non-identifying statistics may be used in teaching and in research about computing education, and may be published. Nothing published identifies an individual.

We do not sell personal information, and we do not use it for advertising or profiling.

Sharing

We share what is necessary and nothing else: with other participants in a board or contest you join, as described above; with your institution, where you reach Azadira through its learning management system; with the providers listed under Who else is involved, in their capacity as hosts; and where the law requires it.

How long we keep it

  • On your device — until you clear site data or delete the player.
  • Account and progress — until you delete the account.
  • Sessions — 180 days after last use, then automatically.
  • Board data — thirty days from the board’s creation, then deleted automatically, submitted code included.
  • Contest runs, solves and submitted code — kept with the account that entered, and deleted when that account is deleted.
  • Problem reports — kept after they are resolved, so a fault stays fixed. If you delete your account, the link to you is removed and the code you sent with the report is erased; the description of the fault remains.
  • Anonymous statistics — 400 days by default, after which rows are deleted.
  • Canvas records — for as long as the institution’s connection is in place.

Your choices and rights

  • Use it without an account. This is the default and gives us nothing.
  • Turn off counting in Display settings, or let your browser send Global Privacy Control.
  • Export your progress as a file from the player menu, at any time.
  • Delete your account and everything stored with it, from the player menu.

Depending on where you live you may have rights to access, correct, delete or port personal information, or to object to its processing. Write to the address below and we will respond. Where your data was collected through your institution, ask your institution first, since it controls those records.

Children

The Azadira seed, the beginners’ entrance at azadira.com/seed/, is written for the youngest players and is deliberately stricter: it sends no statistics at all, offers no sign-in, asks for no email address and has no multi-player. Work done there is kept in the browser like the rest of the site.

Cloud accounts are for people aged 13 or over, and we do not knowingly collect personal information from children under 13. Azadira can be used without an account at any age, and in that case nothing identifying is collected. Schools using Azadira with younger pupils are responsible for the consents their own law requires. If you believe a child under 13 has created an account, write to us and we will delete it.

Security

Traffic is encrypted in transit. Session tokens are stored only as SHA-256 hashes, so a copy of the database does not yield a usable token. No password exists to be stolen. Access to the administrative area is restricted to named addresses and requires a separate sign-in.

No service can promise perfect security. Keeping an exported copy of progress that matters to you is prudent.

Changes

We may update this policy. The date at the top shows when it last changed; if a change materially affects what we collect, we will say so on the site.

Contact

The operator of Azadira, and the person responsible for the information described here, is Nikolaus Correll, University of Notre Dame.

Questions, requests about your data, or anything this page does not answer: ncorrell at nd dot edu.