Nova LMS · Volume 01 · Spring 2026·[email protected]
Nova LMS

On why Nova exists

School software has been catastrophically bad at security for twenty years.

School breach disclosures averaged more than one per week in 2024. Most were not zero-days — they were the basics: no MFA on admin accounts, audit logs trivially editable, SQL injection in 2024-era code, customer and adversary data in the same database. We built Nova because we are willing to make security the first question, not the last.

Chapter I

Six promises we will put in writing in your DPA.

These are not aspirations. Every one is enforced in the running code today, or it is labelled here as a known gap with a target date.

i.

The single most-cited finding in K-12 breach reports is the unenrolled admin account.

Two-factor authentication is required for every staff account.1

Enforced in the middleware on every request. No opt-out toggle, no remember-this-device backdoor. New staff are redirected to enroll a TOTP authenticator before they can do anything else.

ii.

The audit log is tamper-evident at the database layer.2

Postgres Row-Level Security policies block UPDATE and DELETE on AccessLog, AIUsageLog, and GradeChangeLog. The application's database role does not have BYPASSRLS. Even an attacker with full application credentials cannot edit a row.

iii.

Sensitive narrative records are encrypted at rest.3

IEP details, intervention notes, discipline narratives, and nurse-visit logs are AES-256-GCM encrypted with a key not stored in the database. A stolen database dump shows ciphertext for the most sensitive records.

iv.

No competing LMS has yet committed to this in writing.

Every AI call about a student is logged and answerable.4

The AIUsageLog records actor, feature, model, SHA-256 hash of prompt and response, plus the student IDs referenced. Parents can ask what the AI has seen about their child — we can answer in under a minute, without retaining content.

v.

Backups are encrypted with a key the server cannot read.5

Nightly pg_dump backups are age-encrypted to a public key whose private counterpart never lives on the production host. A total host compromise cannot decrypt backups. Quarterly restore drills with the key holder.

vi.

Parents have a FERPA self-service portal, not a paper request.6

Every record we hold on a child, the disclosure log under §99.32, the AI usage trail. Visible to the linked parent immediately. Downloadable as JSON. Right-of-correction routed through the school administrator with an audited workflow.

Footnotes
  1. middleware.ts — force-MFA branch, no opt-out path, no remember-this-device exception.
  2. Migration 20260517223000_audit_append_only_rls — Postgres RLS policies block UPDATE and DELETE on AccessLog, AIUsageLog, GradeChangeLog.
  3. lib/field-crypto.ts — AES-256-GCM at the application layer; key supplied by host environment, never persisted to the database.
  4. lib/ai.ts → askClaudeSafe() — actor, feature, model, SHA-256 prompt and response hashes, referenced student ids.
  5. scripts/backup.sh — age-encryption pipe to a public key whose private counterpart never lives on the host.
  6. /parent/records/[studentId] — every record, the disclosure log per §99.32, every AI call, downloadable as JSON.
Why · 01
Chapter II

Against what's already in your school.

Most schools we talk to are already running one of these. Here is what is different about Nova next to each — stated plainly, with no anonymous swipes.

·

Canvas

Canvas was built before FERPA had audit teeth. Its audit log can be edited by admins. The LTI plug-in marketplace is a 1,500-vendor data egress surface no school's CISO has actually audited end to end. Useful as a courseware host; not designed as the trust boundary.

·

Google Classroom

One Workspace user compromise away from being everyone's email. Student work is co-mingled with the rest of Google's data graph. Nova is a separate trust boundary around student data, with a separate and smaller blast radius.

·

Schoology, PowerSchool

Both owned by private equity rolling up the K-12 software market. Roadmaps optimised for sellable feature counts, not for what one charter high school needs first or what is auditable when a parent asks. We are deliberately the opposite shape of company.

·

In-house spreadsheets

Half the schools we talk to are stitching together Google Sheets, FileMaker, paper notebooks, and email. Nova replaces all of that with one auditable system. Measured migration time at the pilot: roughly four hours per 100 students.

Why · 02
Chapter III

The honest list of things we have not yet earned the right to say.

Listed plainly so your IT review is faster, and so the parts we do claim are trusted by contrast.

·

Not yet.

SOC 2 Type II report1

On the roadmap, targeted within twelve months of the first paid customer. Compensating controls are documented in the threat model in the interim, and shared on request.

·

Not yet.

ISO 27001

Not on the immediate roadmap. After SOC 2. We will not over-promise.

·

Not yet.

Third-party penetration test report

Scheduled before any pilot with real student data. Quotes from two firms in hand; we will share the firm's scope and scoring rubric before signing.

·

Not yet.

WCAG 2.1 AA full certification (VPAT)

The pattern library is being rebuilt for AA compliance. The VPAT will be published when the third-party audit completes; interim conformance notes are available on request.

·

Not yet.

HSM-backed key storage for field encryption

The encryption key currently lives in the host environment variable. A determined root-on-host attacker could read it. HSM storage is planned at the second paying-customer scale.

·

Not yet.

OAuth SSO (SAML, OIDC)

Not yet — only password and TOTP credentials. A high-priority roadmap item once a customer requires it. We will not implement it badly to tick a box.

Footnotes
  1. All target dates are tracked publicly in /security and updated as the items ship; we will not move a date silently.
Why · 03
Chapter IV

Small team. Founder writes the code. Nothing outsourced.

Nova is a one-founder company. Every line of code that touches your student data was written by hand, reviewed against the threat model, and tested before deploy. We have not, and will not, outsource security work — the founder is the security engineer, the application engineer, and the operations engineer.

This is a deliberate trade-off. The cost is feature velocity measured against bigger vendors. The benefit is that no part of your child's data passes through a contractor pool, a BPO, or a layoff round.

Infrastructure: one OVHcloud host in France, Cloudflare in front, Anthropic Claude for AI features (with a zero-retention contract before any real student data lands). The subprocessor list is on request and lists those three vendors and no others.

Why · 04
Chapter V

Documents we share on request.

For your IT review. Each is a real, finished document — not a sales asset.

  • i.

    The full threat model

    Eleven attacker profiles, each with the mitigation enforced in code.

    Request →
  • ii.

    Postgres schema with security annotations

    Every encrypted column, every RLS policy, explained for non-DBAs.

    Request →
  • iii.

    Draft Data Processing Agreement

    Drafted by K-12 EdTech counsel; we redline with your district's lawyer.

    Request →
  • iv.

    Subprocessor list

    Cloudflare, Anthropic, OVHcloud. That is the entire list.

    Request →
  • v.

    Browser-readable security page

    Every shipped control and every named gap, scannable in five minutes.

    Open →
Why · 05

Closing note

The conversation you have been waiting to have.

We sell to schools one at a time, because that is what our trust model lets us scale. Write to [email protected] with the questions your IT review needs answered — we will send back a real document the same day, not a sales sequence.