QuestSim's adaptive engine (ACE) gets better the more fine-grained the data it sees. COPPA, FERPA, and the districts that enforce them push the other way. Solving for personalization makes the privacy problem harder; solving for privacy degrades personalization — so there's no optimum, only a position each district sets.
What this child did today. Written into the district's own Google Workspace, owned by the district, never stored by QuestSim.
How children in general behave. Synthetic or de-identified aggregates only — never an individual record.
A clickable admin-console mock: the district picks how much the classroom stream collects — Full, Standard, or Minimal — with tradeoffs in plain language and QuestSim's share fixed at nothing.
Clickable HTML mock
A replay harness proving ACE can adapt on-device and export only a mastery vector. ~99% of adaptation decisions survive; it names the two signals that carry the residual.
Runnable Python harness
A simulation harness that develops and calibrates ACE on ~200 synthetic middle schoolers, so real student data is needed only for low-volume aggregate validation — never for model development.
Runnable Python harness