DP/00GRADEOS · DATA PROTECTION PLAIN-ENGLISH · GROUNDED IN THE SYSTEM

Your data, protected.

GradeOS grades hardware. The data we hold is your operation's evidence — device photos, measurements, grades — and our job is to make it provable to the people you choose and invisible to everyone else. This page describes how the system actually works, in plain English.

EVERY STATEMENT BELOW DESCRIBES THE RUNNING SYSTEM · COMMITMENTS ARE LABELED AS COMMITMENTS

DP/01What we collect DEVICES, NOT PEOPLE

◆ We store

  • Your account — name, email, and a bcrypt-hashed password. We never store the password itself.
  • Device evidence — grading photos of hardware, IMEI/serial, model identity, defects, confidence, grades.
  • Diagnostics — instrument readings from USB/on-device checks (battery health, lock state, sensors) with their proof blocks.
  • Bench telemetry — which station graded what, when, and how fast, so your throughput ledger works.

— We don't

  • Read or store the contents of devices you grade — grading happens from the outside: photos and instrument readings.
  • Sell or rent your data to third parties.
  • Put your operation's numbers in anyone else's view — workspace data is scoped to its owner (see DP/03).
  • Hold a plaintext password, anywhere, ever.
DP/02Where it lives ENCRYPTED AT REST
Database
All operational data lives in a managed Cloud SQL (PostgreSQL) instance on Google Cloud, encrypted at rest with Google-managed keys (Cloud SQL default encryption).
Device photos
Grading photos are stored as records inside that same access-controlled database — not in a public storage bucket. There is no anonymous URL that serves your photos.
Application
The app runs on Google Cloud Run (us-central1). The database accepts connections from the application, not from the open internet.
Secrets
Signing keys and credentials are injected as runtime configuration — they are not in the codebase and never appear in a passport, page, or PDF.
DP/03Who can see it OWNER-SCOPED BY QUERY

Access in GradeOS is not a setting that could be misconfigured per page — scoping is built into the queries themselves. Every read of devices, grades, inventory, events, and stations filters on the signed-in owner's identity at the database layer.

You (operator)
A signed-in session sees only its own workspace — your devices, your grades, your benches. Requests without a valid session get a 401, not a partial view.
Your benches
Grading stations authenticate with their own station token, issued at pairing — a bench can work its lane without holding your account credentials.
Platform admin
Administrative endpoints sit behind a separate admin token — operator sessions cannot reach them, and admin tooling is not exposed through your workspace.
Other operators
A device's cross-platform grading lifetime is visible to signed-in users with operator identities replaced by one-way hashes (e.g. op_3f9a2c1d) — the hardware's history travels with it, who graded it does not. IMEI-keyed history is never exposed to the open internet.
DP/04How it moves TLS EVERYWHERE
In transit
All traffic to GradeOS is served over HTTPS with Cloud Run's managed TLS — photos, grades, and diagnostics never travel in the clear.
Your session
Sign-in uses an HttpOnly, SameSite cookie (scripts on a page can't read it; cross-site requests don't carry it), with a bounded lifetime and server-side expiry.
Shared passports
When you share a passport, the link carries an HMAC-SHA256-signed token minted from the device and its audit hash. The recipient sees exactly the grade evidence you shared — a forged or altered token fails verification, and your account is never exposed by the link.
Verification
Anyone holding a shared passport can check it at the public /v1/verify endpoint — it confirms the signature and audit hash without requiring a login or revealing anything beyond the passport itself.
DP/05Proof, not exposure THE DESIGN PRINCIPLE

The whole point of a Device Passport is that you can hand it to a buyer and it proves condition without exposing your operation. What's inside an evidence chain is instrument data: the method that read a value, the raw measurement, and a timestamp — battery capacity=87% cycles=412, not personal content. Each grade carries an audit hash (SHA-256 of the canonical grading result), so the document you shared is the document that was graded — any alteration breaks the hash.

And because cross-operator history is keyed to the hardware with hashed operator references, a passport can show "graded 3 times, trend stable" without telling anyone who graded it, where, or what else is in anyone's inventory.

DP/06Your controls YOU DECIDE WHAT'S SHARED
Sharing
Nothing is public by default. A passport becomes visible to someone else only when you mint and send its signed link.
Your benches
You pair and remove stations yourself from the console; a removed bench's token stops working.
Your session
Sessions expire on their own, and signing out invalidates the session server-side.
COMMITMENT — ON REQUEST, NOT A DASHBOARD BUTTON (YET)

Data deletion is available on request. Self-serve deletion isn't built yet, and we won't pretend it is — contact us from your account email and we will delete your workspace data and confirm when it's done.

Certifications, honestly: GradeOS is built with GDPR-aligned principles — data minimization, purpose-scoped access, deletion on request — but we do not hold SOC 2, ISO 27001, or GDPR certification today, and we'd rather tell you that plainly than imply otherwise. As certifications land, they'll be listed here.