Sub-Processors

Last updated: 2026-08-05

This list covers sub-processors used by the Interactive Case Study Builder platform.

Sub-ProcessorRoleData CategoriesLocationNotes
ClerkAuthentication & organization managementInstitution admin and instructor accounts only (no student accounts)United StatesStudents are never authenticated; Clerk handles only institutional (admin/instructor) identity.
NeonDatabase (PostgreSQL)Simulation definitions + display-name-only conversation transcripts (no verified student identity)United StatesData encrypted at rest (platform-level); TLS in transit.
VercelHosting & edge deliveryRequest/response data in transit (transient only, no persistence)United StatesTLS enforced; no student data at rest on Vercel.
StripeBilling & subscription managementInstitution billing data (payment methods, invoices); no student billing dataUnited StatesOnly institution-level billing contact; no student billing data.
UpstashRate limiting (Redis)Request counters keyed by IP address; no names, no message content, no account dataUnited StatesKeys hold an IP address and a request count for the length of the rate-limit window (60 seconds), then expire automatically. Used to protect the student chat and report endpoints from abuse.
Configured AI Provider (Anthropic / OpenAI / Google)AI conversation processingConversation content (student messages + AI responses), via institution's own API keyPer the institution's own provider accountContent is processed through the institution's own provider account and key — not a vendor-managed key.

No student email, student ID, demographic data, or grade is stored in any sub-processor system. IP addresses are processed transiently for rate limiting and expire within 60 seconds. Conversation content is routed through each institution’s own AI provider relationship (bring-your-own-key).

This list is updated if sub-processors change. Institutions are notified of material changes.