Classic Test Prep · Trust Center
Security controls
A small company can run a disciplined security program by building on providers that already hold SOC 2 Type II reports and by keeping the attack surface small. Here is every control, including the ones we have not finished. In place means verified in the running system; in progress means it exists but has not been verified, exercised, or switched on yet.
Last updated November 12, 2026
Infrastructure
Encryption in transit
In placeTLS 1.2 or higher on every connection, HTTP Strict Transport Security enabled, no plaintext endpoints.
Encryption at rest
In progressDatabase volumes and object storage are encrypted at rest according to the hosting providers' documentation. Our own configuration review is pending.
Managed hosting with SOC 2 Type II providers
In placeRender (compute and PostgreSQL), Clerk (identity), Cloudflare (storage). Provider reports available to districts under NDA.
United States data residency
In placeProduction database and backups live in the United States (Ohio).
Automated daily backups
In placeManaged daily database backups are confirmed on. The restore procedure is documented; the first restore test has not yet been run.
Network isolation
In progressDatabase connections require TLS. Restricting connections to the application and a named administrator is pending a configuration review.
Access control
Multi-factor authentication for staff
In progressEnforced in the application since November 13, 2026: every staff member has an enrolled authenticator, and the admin console and teacher portal refuse staff accounts without one. Two-factor on the remaining production consoles (hosting, DNS, source control, payments, email) is being confirmed.
Least privilege
In placeAdministrator capability is granted by an explicit allowlist. Teachers see only their own organization's students. Students see only their own records.
Role-based access in the product
In placeStudent, teacher, organization owner and administrator roles are enforced server-side on every request.
No shared accounts
In placeEvery person with production access has a named account. Service credentials are stored in the hosting provider's secret store, never in source code.
Access reviews
PlannedProduction access will be reviewed quarterly and on any personnel change. The first review has not yet been recorded.
Audit log of staff access to student records
PlannedServer-side log of administrator views and exports of student data.
Application security
Content Security Policy
In placePer-request nonce-based CSP with strict-dynamic blocks injected scripts; frames from other sites are refused.
Authentication by a dedicated identity provider
In placeWe never store passwords. Sign-in, password hashing, session management and MFA are handled by Clerk.
Rate limiting
In placeSign-up, checkout, connector and support endpoints are rate limited to slow abuse.
Webhook signature verification
In placeEvery inbound webhook (identity, payments) is verified against a signing secret and de-duplicated.
Secure development lifecycle
In placeChanges ship from version control through automated builds and type checks; dependencies are updated on a regular cadence.
Third-party penetration test
PlannedIndependent application penetration test with remediation report.
Data protection
Data minimization
In placeWe collect what the study plan needs and nothing else: no demographics, no parent contacts, no special-program indicators.
No advertising, no profiling, no sale
In placeSchool accounts never see upsells or pricing, no advertising tags load for them, and we never sell or rent personal information.
No student data to AI assistants
In placeOur Claude and ChatGPT connector is disabled for school accounts. No student record is sent to any AI model.
Deletion and return of data
In placePer-student export and erasure, and per-district erasure with written certification, within the timelines in our agreements.
Error monitoring without personal data
In placeError reports strip personal identifiers before they leave our servers.
Organizational
Named security coordinator
In progressA security coordinator owns this program and is reachable at security@classictestprep.com. The named designation is being formalized in our district agreements.
Written policies
In progressInformation security, access control, incident response, data retention and destruction, vendor management, secure development, and security awareness policies are drafted and under owner review. Available to districts on request once approved.
Incident response and breach notification
In progressPlan drafted; first tabletop exercise not yet run. Affected districts are notified without unreasonable delay after confirmation and in every case within the period their agreement and Florida law require.
Security awareness training
PlannedEveryone with access to student data will complete privacy and security training at onboarding and annually. No completions are recorded yet.
Risk assessment
In progressA 2026 risk assessment is drafted and awaiting owner review. Results available to districts on request once approved.
Business continuity and disaster recovery
In progressPlan drafted. The annual restore test from backups has not yet been performed.
SOC 2 report
PlannedClassic Test Prep does not yet hold its own SOC 2 report. Our hosting, identity and payment providers do.
Architecture in one paragraph
A single Next.js application runs on Render in the United States and talks over TLS to a managed PostgreSQL database on the same platform. Sign-in is delegated to Clerk, so we never see or store a password. Lesson videos are static files on Cloudflare storage. Transactional email goes out through Resend. Payments, for individual customers only, go through Stripe Checkout; card numbers never touch our servers. Error reports go to Sentry with personal data stripped. There is no data warehouse, no third-party analytics on school accounts, and no AI model in the student data path.