Security

How we test, review, and harden

This platform holds staff accounts and ticket data for school districts, so we treat security as part of the build — not a checkbox at the end. Here's exactly what that looks like, in plain language your IT and security teams can point at.

At a glance

300+
Automated tests, run on every code change
2
Full-scope security reviews to date
0
Critical & high findings in the latest review
Weekly
Automated dependency vulnerability scanning

The numbers below are the ones we actually track. We've written this page to be honest about what we do and don't yet do — see "What we're still building" at the end.

Tested continuously

Every change to the platform runs through an automated test suite before it ships — 300+ tests across more than 40 test files, executed on every push and pull request. The tests run against real PostgreSQL and Redis, not mocks, so they exercise the system the way it actually runs in production.

A meaningful share of that suite is security-specific. We keep dedicated tests for the things most likely to leak data or grant unauthorized access:

Reviewed at full scope

Beyond the automated suite, the platform undergoes end-to-end security reviews that cover the full attack surface:

Our most recent full-scope review returned zero critical and zero high-severity findings. Every finding above low severity is re-verified against the live code — and, where relevant, against the running production system — before it's considered closed.

When a review does surface something, each finding is tracked individually and remediated by severity, with the fix tested and deployed on its own. That's how we work through them: top-down, one verified fix at a time.

A hardened supply chain

Most real-world breaches come in through a dependency, not the application code. We treat the software supply chain accordingly:

Privacy built for schools

Security and student-data privacy are the same job in K-12. The platform is designed around that:

For the full data-handling picture, see our Data Privacy Agreement, Subprocessors list, and Privacy Policy.

Reporting a vulnerability

If you've found a security issue, we want to hear about it. We publish a coordinated-disclosure policy with defined response timelines — we acknowledge reports within two business days and provide an initial assessment within five.

Report privately through GitHub's private vulnerability reporting or by email to [email protected]. Please don't file a public issue for a security bug. Full details are in our security policy.

What we're still building

We'd rather tell you where we're headed than imply we're already there. In the spirit of the rest of our documentation:

  • Our security reviews to date have been thorough and full-scope, but they are internal reviews, not a paid third-party penetration test. Commissioning an independent external pentest is on our roadmap.
  • Vulnerability scanning runs on every change and surfaces issues immediately; today it is advisory (it flags, it doesn't yet hard-block a merge). Making it enforcing is a planned tightening.

Have a security questionnaire, or want to talk through your district's requirements? Email [email protected] — you'll reach the people who built the system.