TRUST
Safety model
Moderation on both sides of the model call, COPPA-first architecture, parent-initiated cascading delete, no model training on kid data. The trust posture is the product itself.
MODERATION PASSES
3 per turn
OpenAI on the kid input, a Haiku kid-safety classifier, OpenAI on the model output. A fourth layer refuses inside the model call.
lib/moderation/client.ts, lib/ai/safety-classifier.ts
FALSE-NEGATIVE TARGET
Zero harm
A missed harmful message is a trust-ending event. Four layers, each with a documented and deliberate failure mode.
TODO(safety): publish monthly on transparency page once data accumulates
FALSE-POSITIVE TARGET
Under 1%
Kid build-talk falsely flagged. Tuning layer is TODO-003; target published, current rate TODO(safety).
COPPA 2026
Apr 22, 2026
Modernized rule live. $51,744 per violation per day. Tekku built for the new regime.
FTC final rule, January 2025 publication
LAST UPDATED 2026-08-26
Safety pipeline
flowchart TD
K[Kid input] --> M1[OpenAI Moderation<br/>pre-check, 25s]
M1 -->|clean| SC[Haiku kid-safety classifier<br/>grooming, PII, distress]
M1 -.->|flagged| RED[Redirect<br/>kid-language retry]
M1 -.->|unreachable| FO1[Log fail-open<br/>Sentry + moderation_events]
FO1 --> SC
SC -->|clean| AS[Anthropic-side<br/>safety prompt]
SC -.->|flagged| RED
SC -.->|distress| CARE[Distress path<br/>respond, do not refuse]
SC -.->|unreachable| AS
AS -->|refused by model| MRP[Moderation rationale<br/>parent-legible explainer]
AS -->|allowed| RT[Lift kid-readable text<br/>literals, JSX text, comments]
RT --> M2[OpenAI Moderation<br/>post-check on output]
M2 -->|clean| OUT[Kid sees response]
M2 -.->|flagged| HQ[Human review queue<br/>24h SLA]
M2 -.->|unreachable| FO2[Log fail-open] --> OUT
HQ -->|harmful confirmed| NP[Parent notification<br/>+ incident record]
HQ -->|benign confirmed| ALLOW[Allowlist entry<br/>90-day expiry]
NP --> REG[Regulatory notification<br/>if required by rule]
TUN[Context allowlist for<br/>kid build-talk: TODO-003]:::todo
classDef todo stroke-dasharray: 5 5,opacity:0.55
Safety posture vs competitors
Architectural safety choices, not marketing claims. The rows are verifiable: either a product has a layer or it does not.
| Tekku | Khanmigo | Tynker | Generic LLM | ||
|---|---|---|---|---|---|
| Moderation layers | 4 (pre, Anthropic-side, tuning, post) | 2 (pre, post, per public docs) | 0 (classical, no AI surface) | 1 (provider default) | |
| COPPA verified consent | Stage 2 (Persona or Stripe Identity). Stage 1 founder-son basis. | Yes (school consent path primarily) | Yes (legacy, retrofit debt) | No | |
| No-training clause | Contractual with Anthropic and OpenAI. First sentence of privacy policy. | Yes (public statement) | Partial (legacy terms) | Varies, usually opt-out | |
| Data residency | US (Supabase US-East). EU region at Stage 3. | US | US | Varies | |
| Parent deletion (cascade) | One tap, transactional, same-day | Yes (via Khan account) | Yes (retrofit, ticket-driven) | Varies |