Kid apps stand or fall on what happens when something goes wrong. Here's what's in place at CogniKiddo — at the wire level, not just the marketing level.
Lessons and quizzes don't ask a live model "is this right?" — every question is pre-authored and graded by a deterministic engine that re-derives the answer and checks it. A live AI is used only when your child chooses to chat in Explore. So your child is never taught a hallucinated answer on the learning path.
Both child speech and tutor responses pass through a two-layer filter: a fast rule-based screen, and a small classifier model. If either flags an exchange, we don't render the tutor reply and the parent sees it on the transcripts page. If your child ever says something that sounds distressing, we alert you right away — not in tomorrow's summary.
Audio is stored in Cloudflare R2 for 30 days so you can replay any moment from the transcripts screen. After 30 days the bucket-level lifecycle rule deletes the clip automatically — we don't have a way to keep it longer even if we wanted to.
We use Whisper to transcribe in the moment and the OpenAI / Anthropic chat APIs to generate replies. We do not opt into any "data may be used for training" tier. Nothing about your child gets re-used to improve a third-party model.
Every session produces a transcript visible to you under Parent → Transcripts, complete with the audio clip's playback link. There is no parent-facing aggregate that hides any individual line.
From parent Settings → Privacy & data you can export everything we store (a full JSON download) or delete your account outright — it removes every child profile, session, answer, conversation and saved voice clip immediately. Prefer email? Write to us and we'll confirm within 7 days. Voice clips older than 30 days are already gone.