Signal9Signal9 — home
online

Trust

Security practices

What we actually do to protect accounts and lab work. These are our own statements about how Signal9 is built and operated — not a third-party audit.

Controls in place today

Authentication
Sign in with email and password or a one-time emailed link. Passwords are hashed with argon2 and never stored in readable form. Changing or resetting your password signs out every other session. Operator access is limited to a fixed allowlist of staff accounts.
Authorisation and data isolation
Every account request is authenticated, and the API scopes reads and writes to the signed-in account, so learners can only read and change their own progress. Admin endpoints check the staff allowlist or a separate admin key.
Encryption
All traffic to Signal9 and its API is served over HTTPS/TLS, and plain HTTP is redirected. Data lives on managed hosting (Fly.io and Vercel); we don't operate our own physical servers.
Rate limiting and abuse guards
Sign-in, password reset, answer submission, grading and other public endpoints are rate-limited server-side. Lab launches have a per-user throttle, a concurrency limit and daily fair-use caps.
Grading integrity
Lab objectives are graded on the server against the real state of your lab machine. The browser never reports its own score.
Email
Transactional mail (sign-in links and password resets) is sent through our email provider from a verified sending domain.
Data retention
Account and progress data is kept while your account exists. You can delete your account from settings at any time, which removes every record tied to it.

Certifications

Signal9 does not currently hold a SOC 2, ISO 27001 or comparable third-party certification, and we don't claim one. If your procurement process needs a security questionnaire completed, email us and we'll work through it directly.

Reporting a vulnerability

Send findings to security@signal9.sh. Include the affected URL, reproduction steps and any proof-of-concept output. We aim to acknowledge reports within two business days and to keep you updated until the issue is closed.

Please test only against your own account, avoid automated scanning that degrades the service for others, and don't access or modify another person's data. We won't pursue action against good-faith research that follows those rules.