Privacy
The site can record anonymous responses to the inline quizzes if you opt in. This page explains exactly what is collected, what is not, who has access, how long we keep it, and how to opt in / out / export / delete at any time.
Default: opt-in. Nothing is sent until you explicitly click Allow in the consent banner. No login or account is involved either way.
Course audience: this material is intended for students 18 and older. We do not knowingly collect data from anyone under 18.
What we collect, per quiz answer
- A random reader UUID, minted in your browser on first visit and stored locally. No name, no email, no account.
- The quiz identifier (page slug + auto-id like
q1). - The lecture page path (e.g.
/_site/M02-L01-literals.html). - The quiz kind:
mcq(multiple choice) orcode(code fill-in). - For MCQs: which option you selected, and whether it was correct.
- For code quizzes: whether the assertions passed. We do not record the code you wrote, only pass or fail.
- A timestamp set by the server.
- The commit hash of the lecture source at the time, so we can compare answers before and after content changes.
What we do not collect
- Name, email address, account information. There is no login.
- IP address. Cloudflare drops it at the edge before our code runs.
- Demographic data (age, region, prior experience).
- Your code from code-fill-in quizzes (only the pass/fail result).
- Browsing history beyond the quiz answer itself.
Why
The methodology mirrors the Brown PLT TRPL quiz study (Crichton et al., 2024). Aggregated answers tell us which questions are hardest, which wrong answers are most common, and where readers stop. We use that signal to revise difficult sections of the material, the same way the TRPL study did with twelve content interventions. We aim to publish anonymised aggregate results once the course has run for a semester.
Who has access
The course staff at IIT Madras (KC Sivaramakrishnan and teaching assistants). Aggregated dashboards may appear publicly; individual response rows do not. The public aggregate view lives at dashboard.html and shows only counts, accuracies, and option pick distributions.
Where the data lives, and cross-border transfer
Responses are stored in a single SQLite database hosted on Cloudflare D1, region-pinned to Asia-Pacific (APAC). Cloudflare may replicate data to other regions within its global network for resilience, governed by their Data Processing Addendum. By opting in you consent to this cross-border transfer.
How long we keep it
Raw response rows are retained until the course completes a full delivery cycle (each NPTEL run is one semester) and the rows have been aggregated into the dashboard and any accompanying research dataset. After that, the raw rows are deleted; only the aggregate (no per-reader rows) is kept. You can also delete every row tied to your device immediately from this page using the buttons below.
Your choice on this device
Each setting is stored in your browser's localStorage, so it is per-device.
Export your data
Download every response tied to your reader UUID, as JSON. Useful for transparency: see exactly what we have on you.
Delete prior responses
Remove every response tied to your reader UUID. This is final and cannot be undone.
Grievance redress
Per India's Digital Personal Data Protection Act, 2023, the contact for any complaint, correction request, or grievance related to this data collection is:
KC Sivaramakrishnan,
Assistant Professor, Dept. of Computer Science and Engineering,
IIT Madras.
Email: kc@tarides.com.
Grievances are acknowledged within 7 days and addressed within
30 days.
Source and policy version
This policy is version 2026-05-20. If we materially change what is collected, the version bumps and the consent banner reappears so you can re-confirm.
The Worker source is at github.com/fplaunchpad/ocaml_nptel/tools/quiz-backend. The schema is one table; you can read it here.