zero-to-gpt

Safety and privacy

Not legal advice. This is a practical summary written for a sysadmin and a teacher, as of 2026-11-12. Have the school’s counsel, or your accrediting association’s guidance (e.g., NAIS [5]), confirm how these laws apply to your school and state. Sources are at the bottom.

1. The laws, in plain terms

FERPA (education records)

COPPA (children under 13, online)

Also check

2. Data design (what we actually do)

Principle Implementation
No child identities on the server One token per seat (laptop), not per child. Any seat→child mapping lives with the teacher, not on the mini.
Nothing leaves campus The model, proxy and logs are on the mini. The LAN-only port is firewalled to the student VLAN. No cloud APIs.
Minimize what’s logged Logs hold the last user message and Buddy’s reply (PII-scrubbed by regex), seat, challenge, flags, and latency. BUDDY_LOG_CONTENT=0 keeps metadata only.
Short retention, automatic BUDDY_RETENTION_DAYS=30 by default; the proxy deletes older day-files every hour. Recommend: 30 days during term, everything purged at term end, and flagged items handled per the safeguarding policy.
No training on student chats Stated in the family letter. The LoRA dataset is written by staff (buddy-design.md §5.3).
Access Logs readable by the admin account only (log dir 0700). The teacher sees flagged events via /teacher/flags. Parents can ask to see or delete their child’s seat logs for given dates.
Encrypted at rest FileVault on the mini.

3. Content filtering: layered, explainable

Layer What it catches Cost Phase
1. System prompt rules Steers tone and topics. Soft, because a 4B model can be talked out of it. ~0 0
2. Proxy rules (check_input / check_output) Wellbeing phrases → fixed kind hand-off (988, trusted adult). Off-limits topics → redirect. PII → scrubbed + reminder. Answer-key leak → deflect. ~0 ms; deterministic; easy to explain to parents 0
3. Small guard model (optional BUDDY_GUARD_URL) Things the rules miss, e.g., paraphrases or other languages. Qwen3Guard comes in 0.6B/4B/8B, labels safe/controversial/unsafe, covers 119 languages, and has a token-level streaming variant [10]. +1 model call per direction (~100–300 ms on the mini [estimate]), ~0.6–1 GB RAM 1, after measuring false positives
4. Human Teacher reviews flags daily; wellbeing flags go through the school’s safeguarding protocol Teacher time 0

Rules first, guard model second. Rules are predictable and auditable, and a false positive is easy to diagnose (“it matched the word X”). A guard model catches more but is opaque and adds latency. Add it once you’ve run it over the staff red-team set and a week of (consented) real traffic, and checked how often it blocks legitimate coding questions, e.g. “kill the process” or “execute the function”.

Buffer-then-stream: the proxy gets the whole reply, filters it, then streams it to the IDE. That costs a little latency, but a stream can’t show a child something the filter would have caught.

4. Teacher visibility

5. Family letter: key points

  1. What: “Zero to GPT” teaches how AI chatbots work, from counting words up to training a tiny model. Students use a school-run AI helper called Buddy.
  2. Where the data lives: Buddy runs on a computer inside the school. Chats don’t go to any AI company or the internet. No student accounts are created anywhere.
  3. What’s kept: chat text is kept for [30] days for safety and teaching, then deleted automatically. It is labeled by laptop number, not by name.
  4. Who sees it: your child’s teacher (and IT, for maintenance). Safety concerns follow the school’s usual counseling process.
  5. Never used for training: we do not train AI on your child’s chats.
  6. Planted mistakes (important): Buddy is designed to sometimes make mistakes on purpose during “Bug Hunt” games, and students are told this up front. Students learn to check AI with tests instead of trusting it. Planted mistakes are only about the coding puzzle, never about safety, health, or anything outside the game. Buddy always admits a mistake when shown proof.
  7. Limits: Buddy is a small AI. It can be wrong even outside the game, and it’s not a search engine or a counselor.
  8. Choice: families may opt out. Opted-out students do the same lessons with the scripted (non-AI) Bug Hunt and a partner.
  9. Contact and requests: to see or delete your child’s chats, or ask questions, contact [teacher/IT].

Purposefully misleading children, even for teaching, needs to be open, bounded and debriefed:

Sources

  1. US Dept. of Education, Student Privacy Policy Office FAQ: to which institutions does FERPA apply - https://studentprivacy.ed.gov/faq/which-educational-agencies-or-institutions-does-ferpa-apply
  2. CDC Public Health Law Program, FERPA overview (private K-12 generally not subject) - https://www.cdc.gov/phlp/php/resources/family-educational-rights-and-privacy-act-ferpa.html
  3. NCES Forum Guide, privacy of student information (few private K-12 receive federal funds directly) - https://nces.ed.gov/pubs2004/privacy/section_2a.asp
  4. Federal Register, Children’s Online Privacy Protection Rule (2025-05904): effective 2025-06-23, compliance 2026-04-22 - https://www.federalregister.gov/documents/2025/04/22/2025-05904/childrens-online-privacy-protection-rule
  5. NAIS: education records federal privacy requirements - https://nais.org/articles/pages/education-records-federal-privacy-requirements
  6. Loeb & Loeb summary of the amended COPPA Rule - https://www.loeb.com/en/insights/publications/2025/05/childrens-online-privacy-in-2025-the-amended-coppa-rule
  7. Future of Privacy Forum: FTC updates to COPPA FAQs (school authorization) - https://fpf.org/blog/ftc-updates-coppa-faqs/
  8. FTC, Complying with COPPA: FAQ (section N, schools) - https://www.ftc.gov/business-guidance/resources/complying-coppa-frequently-asked-questions [URL not fetched in this pass; summarised via 7 and the 2025 rule text]
  9. COPPA 2.0 Senate passage (secondary source) - https://blog.promise.legal/coppa-april-2026-amendments-edtech/
  10. Qwen3Guard technical report - https://arxiv.org/abs/2510.14276
  11. 988 Suicide & Crisis Lifeline - https://988lifeline.org/