Test learners that never reach a funder
A sandbox learner has full product access but is excluded from every agency return, NSI and every figure that means money.
Excluded from
- SDR and its DXP datasets, ITR, NZQA F23 and QE1, StudyLink VoS, Public Trust
- NSI in every direction, including the bulk lookup
- Seat limits, usage roll-ups, network benchmarks, management reports
- The data-warehouse export, the bulk read API and the MCP server
- Agent commission
Still works
- The learner's own portal — courses, assessments, grades, AI Tutor
- The staff directory and record, with a Test record badge
- Attendance, marking, messaging, cases
What the guard checks before a learner can become a test record
Diagram: What the guard checks before a learner can become a test record. Steps:
- Mark as test record
- Reportable enrolment, grade, payment or verified NSN?
- Refused — a real learner cannot be hidden from a funder
- Flagged; both directions logged
Connections:
- Mark as test record → Reportable enrolment, grade, payment or verified NSN?
- Reportable enrolment, grade, payment or verified NSN? → Refused — a real learner cannot be hidden from a funder (yes)
- Reportable enrolment, grade, payment or verified NSN? → Flagged; both directions logged (no)
Staff need somewhere to try things — train a facilitator on marking, rehearse an enrolment end to end, or look at what a learner sees before publishing a course. Doing that with a real learner record means the person goes to TEC in the SDR, to NZQA in the F23, and to the National Student Index, where Pallara would mint an NSN for somebody who does not exist.
A test record solves this. It is a learner who is not a real person.
What is excluded
- Every agency return — SDR and its DXP datasets, ITR, NZQA F23 and QE1, StudyLink VoS, Public Trust.
- NSI in every direction, including the bulk lookup.
- Every figure that means money or capacity: seat limits, usage roll-ups, network benchmarks, management reports, the data-warehouse export, the bulk read API and MCP server, agent commission.
What is not excluded
The product. The learner's own portal, the staff directory, attendance, marking, messaging. A sandbox that cannot be used is not a sandbox. Wherever a test learner appears, they carry a Test record badge so nobody mistakes them for a real one.

Marking a learner as a test record
Administrators only. There is no button for this in the staff portal today; the flag is set through the API (PUT /api/students/{id}/test-record) with a reason, and both directions are written to the activity log. Converting an existing learner is refused if they have a reportable enrolment, a grade, a payment or a verified NSN — without that guard the switch would be a way to remove a real learner from a funding return.