Student project · 2026
A resource finder where safety never depends on a language model
Students often do not know which campus office handles their question, and a chatbot that guesses can do real harm when the message is about a crisis, sexual misconduct or a threat. This prototype checks every message with deterministic safety rules first. Everything else is answered only from approved knowledge-base sources, with citations.
- ScopePhases 0–9 built and validated locally
- Cost$0 local stack, no paid services
- Release statusBlocked pending human decisions, by design
Student experience
Grounded answers, honest about their sources
Answers cite the sources they used. Each citation shows its review status and freshness, and the interface says plainly when a source is old or has not had a governed review.
Safety design
Safety first, then governed retrieval
A deterministic router reads the original message before any planner, tool, retrieval or model. Crisis, Title IX and conduct messages get fixed guidance and stop there, and that guidance is still returned if storage or retrieval fails. No model output can lower a safety decision, and the optional local model never writes answer text.
Governed operations
A staff area checked by the server
Reviewers and administrators sign in to review sources, record risk and release decisions, and watch aggregate telemetry. Access is role-based and defined as policy files that deny by default. The accounts shown are throwaway demo accounts.
Architecture
Two hardened containers on a loopback-only stack
A React and TypeScript frontend behind nginx, and a FastAPI backend with governed tools and retrieval, SQLite storage and OpenTelemetry. It runs with Docker Compose or on a local Kubernetes cluster (kind) with default-deny network policies.
Known limitations
What this prototype is not
- It is not meant for real students, real health information or public deployment, and it claims no clinical validation or certification.
- Keyword and pattern safety routing misses unusual phrasing, crisis messages in uncovered languages and implicit risk outside its lists. The multilingual and implicit-risk terms are AI-drafted and have had no native-speaker or clinical review.
- The citable sources are baseline records carried over from an earlier version, dated 2025, and not yet reviewed under governed retrieval.
- It runs as a single API process over local HTTP, without multi-factor authentication.
- Release readiness is blocked pending human decisions. Nothing here is production-ready.