The student asks
Homework and exam text is deliberately kept out: it's never saved or indexed, so an assignment can't quietly become a stored answer key.
An AI study tutor for high schoolers that makes them do the thinking. The hard part of a tutor for teenagers is the one thing a normal chatbot does by default: give the answer.
Built for The Ethics Lab, the nonprofit I co-founded. I'm the only human author of the tutor code, and I build it with AI coding tools. It's in private beta.

A single question goes through several separate checks before any student sees a reply. Scroll through it.
Homework and exam text is deliberately kept out: it's never saved or indexed, so an assignment can't quietly become a stored answer key.
A second model pass labels the message for safeguarding concerns and jailbreak attempts. It also looks across turns, because the attacks that work build up slowly (a "crescendo"), and no single message looks bad on its own.
The tutor writes a reply that scaffolds instead of solving. When its own confidence is low, measured from the model's token probabilities, it takes a second attempt rather than sounding sure about something it isn't.
Language models are very good at being talked into things, so the instruction "don't give the answer" isn't trusted. A separate pass grades the draft for answer leaks and unsafe content, and a planted canary string catches attempts to pull out the system prompt.
What gets through is a hint or a question. Repeated attempts to break the rules lead to strikes and a lockout, and because automated systems get it wrong, students can appeal.
Mastery updates through a Bayesian knowledge tracing model and SM-2 spaced repetition. If something looks like a safeguarding issue, teachers get a dashboard alert and an email. Supervisor summaries load through the caller's own login, so database row-level security decides what each adult can see.
A second LLM pass checks every draft for answer leaks and unsafe content before it's shown.
Multi-turn jailbreak detection, with strike lockouts and student appeals.
Homework and exam text is never persisted or chunked for retrieval.
BKT-style mastery, SM-2 spaced repetition, and a retry when logprob confidence is low.
Row-level security on supervisor views, plus dashboard and email alerts for teachers.
Account deletion, data export, and a screen for under-13 signups.
A platform gradebook and Google Classroom sync for students.
A script that attacks the deployed tutor function, so safety gets tested from the outside.
Swap between Anthropic, OpenAI-compatible and Gemini models without rewriting the tutor.
A deterministic check for crisis language that runs before any model does.
Grounding in class materials, with deterministic checks that citations are real.
A tutor agent, per-job model routing with provider failover, and server-side grading.
INKY is in private beta and isn't in classrooms yet. Before it can be, it needs finished legal review, parental consent flows and signed data agreements, so I don't call it FERPA or COPPA compliant. That work comes first because the users are kids. The numbers above come from the development branch, and they count code, not students.