CateLMS — Security & Data Protection
Security & data protection

The breaches of 2024 and 2026 happened after the API call returned. So that's where we built.

Every K-12 tool receives the same student roster, in plain text, over an encrypted connection — that's the OneRoster standard, and it's universal. What separates a safe tool from a breached one is what happens to that data the moment it arrives. This page is about what happens at CateLMS.

AES-256-GCM encryption at rest AI never sees student names FERPA-aligned, fully audited
Why this page exists

Schools have become a primary target.

Two recent incidents anchor the conversation. Neither was caused by the data-transfer standard. Both happened in how the receiving system stored and protected the data afterward.

December 2024

PowerSchool

Stored data exfiltrated, affecting more than 60 million student records. Analysts warned that downstream extortion against individual districts would follow. It has.

April 2026

Instructure / Canvas

Attackers exploited a vulnerability and claimed roughly 275 million records across about 9,000 institutions — names, emails, student IDs, and private messages.

The frame for the conversation: the OneRoster standard delivers student data correctly, exactly as PowerSchool, Infinite Campus, and Aspire all implement it. The breaches happened in storage and access on the consumer side. CateLMS is a consumer. This page is about what we do that the breached consumers did not.
In plain language

Six things that keep student data safe.

The essentials first, for anyone. The technical detail for your IT team is in the next section.

Sensitive data is encrypted

Personal details are scrambled in the database, so even someone who stole the raw data file couldn't read them.

The AI never sees names

When CateLMS uses AI to help draft something, student-identifying information is stripped out first. Names are never sent.

Only the right people see a student

Teachers see their own students. IEP and 504 records are restricted further. Accounts support phishing-resistant sign-in.

It works alongside your systems

Your SIS stays the official record. CateLMS keeps grades in sync but never takes over — and never becomes a new place data can leak from.

You own your data

The school's records remain the school's. You can request export or deletion anytime. Uninstalling never deletes data unless you explicitly choose it.

Built around FERPA & COPPA

Student-privacy obligations were designed in from the start, including a parental-consent workflow and a seven-year audit retention default.

For your IT & data-privacy team

The architecture, in detail.

Defense in depth across encryption, access control, AI boundaries, and audit. We'd rather be precise about what's shipped than overclaim.

01 Encryption at rest

Sensitive fields on every record are encrypted at the application layer using AES-256-GCM via OpenSSL — per-field, each with its own initialization vector and authentication tag. Even if the entire database file were exfiltrated, an attacker would obtain ciphertext for every PII field with no realistic path to decryption without the application key.

Encrypted fields include: student names, email addresses, state/SIS identifiers, phone numbers and addresses, counselor session notes, parent/guardian contact information, sensitive demographic flags (IEP, 504, English-learner, meal program), and private messages.

Keys live outside the database, in server-process environment configuration — never in backups, logs, or version control. Key rotation runs as a batched re-encryption job without taking the application offline. Even an authenticated database administrator with full SQL read access cannot read encrypted fields without going through the application layer, and that access is itself audited.

02 Identifier protection & audit logging

Identifiers are tokenized wherever the identifier itself could leak — logs, telemetry, support tickets. We log internal numeric IDs, never SIS identifiers or names.

A single audit-trail funnel records every sensitive operation with actor, target object, action, structured detail, originating IP, user agent, and timestamp. Audit entries are append-only at the application layer — there's no interface to edit or delete them, and the model layer implements no update or delete methods for them.

Audited events include: every authentication event (logins, logouts, failed attempts, passkey enrollments, session expirations); every counselor-note read; every write or status change on student-support entries, action items, or behavior incidents; every permission change, role grant, or revocation; every export (CSV, transcript, report); every AI API call (metadata only — never the prompt body); and every SIS sync. Default retention is seven years, aligning with FERPA record-keeping guidance.

03 Authentication & access control

Passkey (WebAuthn) authentication is a first-class option — inherently multi-factor and phishing-resistant, with no password for an attacker to steal. Sessions are JWT-based with a 24-hour expiration ceiling, stored in HttpOnly cookies, invalidated on password change or passkey re-enrollment, with an idle lock screen requiring re-authentication.

Every data access passes through a single permission function that is the source of truth for organizational scope. A counselor at one school cannot reach another school's students even by manipulating URLs or API paths — the check happens at the model layer, not just the route layer. Role hierarchy (super-admin > admin > counselor > teacher > student/parent) is strictly enforced, and role elevation is itself an audited event.

04 The AI boundary

AI features maintain a hard separation between identifying student data and the AI service. Where content doesn't need to be read, it's referenced by an opaque internal identifier so the AI works on routing and structure without ever seeing names or note bodies.

Where body content genuinely must flow to the AI for assistance, the user sees an explicit acknowledgment gate first. Every prompt that does flow out passes through a scrubber that replaces names, emails, phone numbers, addresses, and SIS identifiers with placeholder tokens before transmission — re-substituted locally on receipt. A second, independent verifier pass re-scans the scrubbed payload to catch anything the scrubber missed. The result: the AI provider's logs do not contain readable student or parent identities.

A compliance dashboard surfaces every AI exchange — model, timestamp, token counts, content category, originating user — without prompt bodies, which aren't retained. An organization can wipe its AI metadata at any time, and the wipe is itself audited.

05 Defenses against brute force & credential compromise

The login endpoint applies rate limiting with progressive backoff and account lockout on sustained failures, with administrator notification. Passkey-bound accounts are immune to credential stuffing — there is no password to guess.

Against a stolen database file, the attacker holds AES-256-GCM ciphertext — not brute-forceable on any projected hardware roadmap, including state-level quantum investments per current NIST analysis. Where attackers have historically beaten encrypted-at-rest databases, the path was credential compromise — stealing the key, not breaking the cipher. Our keys live in environment configuration, never in the database, version control, or backups; host access requires SSH key authentication with password SSH disabled.

Per-session IP capture means a stolen session is detectable on first reuse from a different network.

06 Incident recovery & disclosure

No architecture is bulletproof; the question is detection, containment, and recovery. Containment tools include per-organization session suspension (a super-admin can suspend all sessions in their org in one action), per-user revocation and lockout, encryption-key rotation without downtime, and AI-metadata wipe.

In a confirmed incident affecting a customer's data, we commit to direct disclosure within the timeframes required by applicable state law — in Utah, within thirty days of discovery — with a full post-incident report naming root cause, data scope, contained-by timestamp, and remediation. We will not minimize or obfuscate.

Hosting & ownership

Managed hosting. Your data, your control.

CateLMS runs on Cloudways managed cloud hosting — the school hosts and maintains nothing. Cloudways states it maintains SOC 2 Type II, ISO 27001, and PCI DSS compliance, with platform-level firewalls, a web application firewall, DDoS mitigation, automated backups, TLS, vulnerability scanning, and login monitoring at the infrastructure layer. On top of that, CateLMS adds the application-level protections described above.

Your data is yours. Hosting the platform doesn't transfer ownership of your student data — it remains the school's, used only to provide the service to you. You can request export or deletion of your school's data at any time. We do not sell student data, do not advertise to students, and do not use student data to train AI models.

Honest status

What's shipped, and what's coming.

We'd rather earn trust slowly with the truth than lose it quickly with overpromises. Here's exactly where things stand.

● Shipped today ● In active development
Passkey / WebAuthn sign-in
Phishing-resistant multi-factor, available for all roles
Shipped
AES-256-GCM encryption at rest
Per-field authenticated encryption on all PII
Shipped
Append-only audit trail
Every privileged action with actor, target, IP, timestamp
Shipped
Content-blind AI routing
Note bodies never sent to AI; exchanges audited
Shipped
Model-layer permission boundary
Cross-organization reads structurally impossible
Shipped
Per-session IP capture & 24-hour session ceiling
Stolen sessions expire within a business day; reuse is detectable
Shipped
Geographic anomaly detection
Logins from an unusual location trigger a step-up challenge
Shipped
Per-organization IP allow-listing
Districts can restrict admin access to specific IP ranges
Shipped
Velocity-based anomaly detection
Scraping-like read patterns auto-pause the session and alert admins
Shipped
Annual third-party penetration test
Passed for the 2026 calendar year
Passed

Compliance, by design — not as an afterthought.

FERPA

Records scoped to the student's enrolled organization, access restricted to staff with a documented educational interest, every access logged, seven-year default retention. The audit trail is structured to support a district's reasonable-method-of-control burden under 34 CFR 99.31.

COPPA

For users under 13 in K-8 deployments, CateLMS collects no data beyond what the district provides through its OneRoster connection. We don't advertise to students, don't sell student data, and don't retain it after a student leaves beyond what FERPA permits.

AI use disclosure

Every district receives an AI use disclosure explaining what AI features exist, what data flows (and doesn't) to the AI provider, and how to disable AI features at the organization level. The compliance dashboard provides ongoing verification.

Ask us anything.

We invite district technology directors, USBE leadership, and any concerned parent or counselor to ask hard questions about any item on this page. Where we have answers, we'll give them precisely. Where the honest answer is "we're still building that," we'll say so.

Read Our Latest Security Audit:

We care about security because our kids are in school too, and we've gotten letter after letter informing us their private information has been compromised.  We are as invested in protecting students as you are, so we are continuously auditing ourselves as if the safety and security of our own children depended on it. Because it does. 

Check out our regular audits here to see how we are doing.  It will always be candid and we'll share with you any issues we find and patch.