Privacy policy
What we collect, what we do not, and why.
Last updated: [DATE TO CONFIRM]
The short version
With privacy mode (always on), your roster’s names, student and employee IDs, emails, phone numbers and birthdates stay on your computer and SchedSolver’s servers handle codes instead. Names you type in free text may reach us. Pseudonymous data is not anonymous, so we still treat it as personal data. We do not sell data, we do not run ad trackers, and we collect as little as possible.
1. Data you enter in the app
Roster names, student and employee IDs, emails, phone numbers, birthdates and any spreadsheet column you mark private are kept in a name key in your browser and are not transmitted to SchedSolver in readable form (if you turn on key sync, we store only a copy encrypted in your browser). Your rules, events, availability, schedules, pseudonymous roster, setup description and answers, your conversation with SchedSolver, and feedback notes are stored on SchedSolver’s servers, with roster names swapped for codes, where your schedules are computed, so you and your team can use them on any computer; your browser keeps a cached copy so the app opens quickly. For your account we store your email address, your organization name and a salted hash of your password. All of this travels over encrypted connections (HTTPS). You can export your workspace or delete it at any time. If you use AI help, redacted text and spreadsheet samples are processed as described below. See Privacy mode for details.
Schedule patterns, roles, hour limits and combinations of classes or availability can sometimes identify a person to someone who knows the team. We therefore treat even pseudonymous data as personal data: minimized, access-controlled, deletable on request, never sold, and never described as anonymous.
2. Data you send us
If you email us, request a pilot, or share a sample week for setup help, we receive what you send. We use it only to respond and to help you set up SchedSolver, and we delete pilot data when the pilot ends or when you ask.
3. Billing
For paid plans, billing details are handled by our payment processor [PAYMENT PROCESSOR TO CONFIRM]. We receive only what is needed to manage your subscription.
4. This website
- No advertising or analytics trackers, and no tracking cookies.
- Fonts are served from our own host. Loading this website or the app does not contact Google Fonts or any other third party. If you use voice input, your browser’s speech service (for example Google in Chrome) hears the audio.
- When you sign in, SchedSolver sets a session cookie and a security cookie. They are needed for your account to work and are not used for tracking.
- If you arrive through a partner’s link, their code is kept in your browser and saved with your account when you sign up, so we know who referred you.
- Our servers keep standard request logs for security and reliability.
5. Who else handles data
We use a small number of service providers (subprocessors) to run SchedSolver:
- Hosting [TO CONFIRM: Render or Fly.io]: runs our servers and stores your account and pseudonymous workspace.
- Resend: Sign-up, password reset, invites, engine and schedule updates, billing notices; invoice requests include institution, billing address and PO number. Only when an email provider is configured.
- Anthropic (language model provider): processes text for SchedSolver’s setup interview in every setup, as our service provider. It only receives text after roster names, emails, phone numbers, IDs and birthdates have been removed or replaced with codes, and it never receives the roster file or the name key. We do not keep copies of these requests. We do keep the setup answers and conversation they are built from, with roster names replaced by codes. Once the engine is built, schedules are computed by our own solver. In weekly use it also processes text for six small tasks: reading a spreadsheet layout the app’s own reader cannot map, reading a typed change the app’s own parser could not, reading a typed correction about attached files the app’s own reader could not, listing the closest kinds of rule for a description typed in the rule picker when its own search cannot place it, answering a question typed about a built schedule, and, if the manager asks, writing a short note on what to look at in a finished schedule. All six receive only coded text. A name typed in free text for someone who is not on the roster yet is sent as typed. In detail, it receives your setup description and interview guide turns with roster names, email addresses, phone numbers, ID numbers and birthdates removed (names typed before your roster exists are not removed); a “what changed” sentence the app cannot read on its own, with people, events and other names replaced by codes and contact details and ID numbers removed; a typed correction about files you attached that the app cannot read on its own, coded the same way, with the files’ column headers, the cell marks the reader could not read and the words they use for roles, but never the rows, and never a header or mark that holds a name on your roster or in the files; a rule description typed in the rule picker that its own search cannot place, with names replaced by codes and contact details and ID numbers removed; for a question about a built schedule, the question and that period’s hours, shifts, open slots, availability marks and rule labels, with people, events and other names replaced by codes and contact details and ID numbers removed; the numbers from a schedule check when you ask for a written note; for import help, spreadsheet headers and a few rows with names, IDs and contacts replaced by codes; and, when we build your engine in our back office, your pseudonymous rule set, notes and feedback. Your name key is never sent.
A data processing agreement (DPA) is available on request. See Security and privacy for details.
6. Where data is stored and how long we keep it
- Data is stored in [TO CONFIRM: the United States].
- Workspace data is kept while your account is active. Deleting your account (in Account settings) or your organization removes it right away. Each saved week keeps its latest schedule result; individual solve job results are kept for 30 days. Engine requests, including drafted rule sets, are stored with the request.
- Demo sandboxes are deleted automatically after 24 hours.
- A backup snapshot is taken every day and kept for 14 days. Data you delete leaves the backups as they rotate out, within 14 days.
7. Security incidents
If we learn of a security incident affecting your data, we will notify affected customers without undue delay and share what we know as we learn it.
8. Student employees (FERPA)
Student worker schedules (for example work-study and student-only jobs) can be FERPA education records, so we treat student staff data as regulated by default. The school remains in control of its records, and we act as a school official or service provider under its direction. With privacy mode on (always), SchedSolver’s servers receive no student names from your roster, and no student IDs, email addresses, phone numbers or birthdates. A name typed in free text can get through, so describe students by role. We use the data only to provide the service and do not disclose it except to the subprocessors listed above.
9. Your rights
You can ask us what data we hold about you, ask us to correct it, or ask us to delete it. Data in the app is already under your control: export or delete it at any time.
10. Contact
[COMPANY LEGAL NAME], [ADDRESS]. Email us via the contact page.