Trust & Security

Nothing stored. Ever.

When you grade with Scorae, your student's work makes one short, secure round trip: it's evaluated, feedback comes back to you, and then it's gone. No grading history. No archive. Nothing to leak.

✓ Verified against the production codebase — July 2, 2026

The promise, in plain language

Most grading tools keep a record of everything that passes through them. Scorae deliberately doesn't. After your feedback is delivered, there is no copy of your student's work anywhere in our systems — not in a database, not in a log file, not in a backup of either.

📝

Student writing

Evaluated in memory, returned as feedback, then discarded. Never written to disk or database.

🙋

Student names

Used only to personalize the feedback draft in the moment. Never saved. We couldn't produce a list of your students if we were asked to.

📸

Files & screenshots

PDFs, Word docs, and screenshots are processed entirely in memory. No file is ever written to storage.

🗂️

The gradebook

Your gradebook lives in your LMS, where it belongs. Scorae keeps no record linking any grade to any student.

Why we built it this way

Classroom devices are shared. Logins get left open. Browser profiles sync across machines. Every stored record is a record that can be exposed — by a breach, by a mistake, or by a curious student on a shared computer.

The most reliable way to protect student data is to not have it. A grading history that doesn't exist can't leak, can't be subpoenaed, and can't quietly become a training dataset. You'll notice one practical consequence inside the product: Scorae has no "past grades" screen. That's not a missing feature — it's the security model working.

You also always see exactly what leaves your computer: before anything is sent, Scorae shows you the precise text it's about to evaluate, and you confirm it.

For IT Professionals

The rest of this page is the technical version of everything above. Bring it to your IT department — or send them our way.

Architecture at a glance

Scorae is a Chrome extension (side-panel architecture) talking to a Node.js/Express API over HTTPS. The backend runs on Fly.io, with account data in a PostgreSQL database (Supabase). Evaluation is performed by a commercial large-language-model API (Anthropic). Payments are handled by Stripe, transactional email by Resend, and error monitoring by Sentry.

The design principle throughout: student content is transient; only teacher account data persists.

The request lifecycle

  1. Capture. The teacher highlights text in the LMS (or pastes text, uploads a file, or takes a screenshot). Nothing is transmitted yet.
  2. Confirm. The extension displays the exact text that will be sent. The teacher explicitly confirms.
  3. Transmit. The submission travels over TLS to our API, authenticated with a short-lived JWT bearer token.
  4. Extract (files only). Uploaded PDFs and Word documents are parsed to plain text in memory. No file is written to disk — there is no upload directory, no object storage, no temp file.
  5. Evaluate. The text is sent to the model API to produce a score, evidence-based breakdown, and draft feedback.
  6. Respond. The result is returned to the teacher's browser.
  7. Record metadata. The backend increments the teacher's usage counter and records token count and cost — no content.
  8. Discard. The request completes and the submission ceases to exist in our infrastructure. There is no step nine.

Complete data inventory

This is everything our database schema can hold. There is no table with a student-content column.

DataPersisted?Details
Student writing (highlighted, pasted, uploaded, or extracted from screenshots)NeverProcessed in memory for the duration of one request.
Student namesNeverOptional; used in the prompt to personalize feedback, then discarded.
Uploaded files & screenshotsNeverParsed in memory; no disk writes, no object storage.
Generated feedback & score breakdownsNeverReturned to the teacher; not retained server-side.
Grade-to-student recordsNeverNo student identity exists server-side to link a grade to.
Payment card dataNeverHandled entirely by Stripe; never touches our servers.
Teacher accountYesEmail, bcrypt-hashed password, subscription tier and status.
Teacher-authored rubricsYesCriteria, point values, descriptions — written by the teacher, reusable across grading sessions.
Usage metadataYesEndpoint name, model name, token counts, cost. No content fields.
Product eventsYesEvent type plus non-identifying values (e.g., a numeric score, model confidence) used to improve the product. Contains no text and no student identity.

Logging & error monitoring

Model processing

Evaluation is performed via Anthropic's commercial API. Under those commercial terms, submitted inputs are not used to train models. Scorae sends the minimum needed to grade — the student text, the rubric, the grade level, and the teacher's instructions — and retains none of it after the response is delivered.

Authentication & transport

What this means for FERPA & policy review

Scorae is built to minimize the surface area a privacy review has to cover: no student education records are created, collected, or retained by our systems. The teacher remains in full control of student work and of the gradebook of record, which stays in your institution's LMS. Because nothing is stored, there is no student data for us to breach-notify about, produce, or delete — the deletion happens by design, on every request.

We're not your lawyers, and your institution's policies govern your use of any classroom tool — but we've tried to make this the easiest privacy review your IT department does all year.

Want to verify any of this? We'll happily walk your IT team through the architecture, the database schema, and the request path — including everything on this page. Email professorcacademy@gmail.com.