Sub-Processors
Last updated: 2026-05-23
To provide the School Planner service, we engage a limited set of third-party providers ("sub-processors") to process data on our behalf. Each sub-processor is bound by a Data Processing Agreement containing data-protection obligations no less protective than those in our .
We will provide thirty (30) days' advance notice before adding a new sub-processor that materially changes the categories of data processed (subject to beta-period limitations described in the Terms of Service). Schools may subscribe to updates by emailing alexwhb@gmail.com.
Required sub-processors
These services are necessary for the core operation of the platform. All Schools are subject to processing by these sub-processors.
| Sub-processor | Purpose | Data accessed | Location | DPA |
|---|---|---|---|---|
| Resend | Transactional email delivery (notifications, invites, password resets). | Recipient email address, recipient name, email subject and body. May contain task titles and event names when present in notification content. | United States | View |
| Sentry | Application error monitoring and performance tracing. | Scrubbed request URLs (PII removed), error stack traces, user identifiers (hashed where possible). Attachment URLs and student-identifying fields are scrubbed before transmission. | United States | View |
| PostHog | Product analytics — usage patterns, feature adoption, and aggregate metrics. | User identifier, event names, non-PII properties (task counts, attachment types, school IDs). Customer Content (task titles, notes, attachment URLs) is not transmitted. | United States | View |
| Tigris (S3-compatible object storage) | Encrypted storage for user-uploaded files (task attachments, profile images). | File contents (encrypted at rest), file names, file metadata. Files are addressable only by signed URLs scoped to authenticated users in the same School. | United States | View |
| Fly.io | Application hosting and managed Postgres database. | All Customer Content (encrypted at rest and in transit). Fly.io operates as a hosting infrastructure provider under a Data Processing Addendum. | United States | View |
Optional sub-processors
These services are engaged only when a School or individual user opts in to a related feature.
| Sub-processor | Purpose | Data accessed | Location | DPA |
|---|---|---|---|---|
| GitHub OAuth | Optional single sign-on via GitHub for users who choose to link a GitHub account. | GitHub user ID, name, email, avatar URL. Only requested when a user explicitly initiates GitHub sign-in. No Student Data is transmitted to GitHub. | United States | View |
Material changes to this list — including adding a new sub-processor or expanding the data categories an existing sub-processor receives — will be communicated to your School's designated administrator by email and posted here. The effective date will be set out in the notice.
To object to a new sub-processor, write to alexwhb@gmail.com before the effective date. If we cannot accommodate the objection, you may terminate per the Terms of Service.