Skip to content

Trust center

Casiana holds education records for K-12 students. This page is the single place to find how those records are protected, who else processes them, whether the platform is up, and how to tell us about a vulnerability.

Everything here is true as of publication. Where something is not yet true, this page says so rather than leaving the impression that it is.

How student data is protected

Isolation between schools is enforced by the database
Every table carrying school data has PostgreSQL row-level security, and every row carries the organisation that owns it. Isolation is a property of the database rather than a check the application remembers to perform, so a bug in a page cannot return another school’s rows.
Access to student records is written to an append-only audit log
Reads and writes touching personally identifiable information are recorded with the actor, the action, the target, the time and the origin. The table is partitioned monthly and has no update or delete policy. Each entry also carries a hash of the entry before it, so the log can be checked for alteration — with two honest caveats immediately below, because this is the control a district will lean on hardest.
Sessions expire after 30 minutes of inactivity
Enforced for page requests and API routes alike, not only at the login screen. The timeout is a FERPA expectation for shared devices, which in a school is most of them.
The browser is locked down by a strict Content Security Policy
A per-request nonce is required for every script; there is no wildcard script source. The policy also forbids the application being framed at all, which removes clickjacking as a category. Violations are reported back to the platform rather than discarded.
Administrators are required to enrol in multi-factor authentication
Time-based one-time passwords can be enabled on any account, and an administrator who reaches an admin route without an enrolled factor is redirected to enrol before going further. Anyone who has a factor is stepped up to a verified session before an admin route will serve them. Authentication is rate limited to 10 attempts per 15 minutes per address, and the limiter does not fail open when its backing store is unreachable.
Data is encrypted in transit and at rest
TLS 1.3 in transit, with HSTS preloaded. AES-256 at rest for the database and for uploaded files, provided by the managed infrastructure Casiana runs on.
Student work is stripped of identifying information before any AI model sees it
The AI features are optional and consent-gated. Names, email addresses, phone numbers, school names and numeric identifiers are removed before a submission is sent for feedback, no AI suggestion is a grade of record, and every AI interaction involving student data is audit-logged. An administrator can turn student-facing AI off entirely for their organisation.

Sub-processors

The third parties that process data on Casiana’s behalf. This list is generated from the sub-processor register Casiana maintains for FERPA disclosure, so it cannot drift from the document a school’s counsel is given. Register last updated 2026-02-28.

Supabase Inc.

Purpose: Database (PostgreSQL), Authentication, File Storage, Realtime subscriptions

Data processed: All education records, student/teacher PII, authentication credentials, file uploads, audit logs

Region: US East (us-east-2, AWS Ohio)

Vercel Inc.

Purpose: Application hosting, Serverless functions, Edge CDN, Deployment management

Data processed: Request metadata (URLs, headers), authentication tokens (in-memory only during request processing), deployment logs

Region: US (primary), Global edge

Functional Software Inc. (Sentry)

Purpose: Error tracking, Performance monitoring

Data processed: Error stack traces, performance metrics, request metadata. PII masked via maskAllText: true and blockAllMedia: true configuration. No student names, grades, or submission content.

Region: US

Anthropic PBC

Purpose: AI-assisted feedback engine (optional, consent-required feature)

Data processed: Sanitized student submission text only. PII stripped before transmission: names, email addresses, phone numbers, school names, and numeric IDs removed by src/lib/ai/sanitize.ts. No raw student PII transmitted.

Region: US

Resend Inc.

Purpose: Transactional email delivery (auth emails, notifications, password resets)

Data processed: Recipient email address, email subject, notification body content. No grades, scores, or submission content included in emails.

Region: US

Upstash Inc.

Purpose: Rate limiting (Redis), Brute-force protection

Data processed: IP addresses (as rate limit keys), API key identifiers. 15-minute TTL — data auto-expires. No student PII.

Region: US

Cloudflare Inc.

Purpose: DNS resolution, CDN (proxied traffic), DDoS protection, Email routing (catch-all forwarding)

Data processed: DNS query metadata, proxied HTTP request metadata (IPs, headers), email routing metadata (sender/recipient for forwarded emails)

Region: Global (anycast)

Better Stack (formerly Logtail)

Purpose: Uptime monitoring, Alerting

Data processed: Health check endpoint responses (HTTP status code only). No student data, no PII. Monitors app.casiana.io/api/health.

Region: US

GitHub (Microsoft)

Purpose: Source code hosting, CI/CD (GitHub Actions)

Data processed: Source code (contains no student PII), CI/CD pipeline logs, dependency vulnerability alerts. No production data in repository.

Region: US

Schools are notified before a new sub-processor begins processing their data, and may object within 30 days. Data processing agreements are being executed with each sub-processor; for the current status of any particular one, or for a copy of Casiana’s DPA, write to privacy@casiana.io.

Independent review

Casiana is a young product built by a small team, and it does not yet hold third-party attestations. Specifically, and so that nobody has to ask:

  • No SOC 2 report — neither Type I nor Type II.
  • No third-party penetration test letter.
  • No signed Student Data Privacy Consortium national data privacy agreement.
  • No completed accessibility conformance report.
  • No 1EdTech certification.

The internal security self-assessment behind the controls above is available to prospective schools on request. When any of the above changes, it will appear on this page with the report attached — not before.

Platform status

Uptime and incident history are published continuously, from monitoring that runs outside Casiana’s own infrastructure so an outage cannot silence it.

status.casiana.io

Reporting a vulnerability

If you believe you have found a security vulnerability in Casiana, please tell us before you tell anyone else. Reports that could expose student data are treated as the highest severity there is.

How to report

Email security@casiana.io with enough detail to reproduce the issue: the affected URL or endpoint, the steps, and what you were able to access. Machine-readable contact details are published at /.well-known/security.txt.

What we commit to

  • We will acknowledge your report within three business days.
  • We will tell you whether we consider it a vulnerability, and why, within ten business days.
  • We will keep you informed while we fix it, and tell you when it is fixed.
  • We will not pursue legal action against you for research conducted in good faith under the guidelines below.
  • We will credit you by name when the issue is resolved, if you would like us to.

What we ask of you

  • Do not access, modify, download or retain any student record. If you can demonstrate an issue against your own test account, do that instead.
  • If you encounter student data accidentally, stop, do not save a copy, and tell us what you saw so we can assess the exposure.
  • Do not run automated scanners against production, and do not attempt denial of service, social engineering, or physical attacks.
  • Give us a reasonable opportunity to fix the issue before disclosing it publicly.

Casiana does not currently operate a paid bug bounty. We are grateful for reports regardless, and we would rather say that plainly than let anyone assume otherwise.

Who to contact

Security vulnerabilities
security@casiana.io
Privacy, FERPA, DPAs and sub-processors
privacy@casiana.io
Everything else
support@casiana.io

Casiana is operated by Casiana AI LLC.