Admins
Settings and flags
The at-a-glance status, every setting in plain words, and how to change settings with one review and one reason.
Settings is where the platform is configured. Changes take effect without a restart; most reach families within a minute.
- 1: Red: needs action
- 2: Jumps to the fix
- 3: Find any setting
- 4: Jump to a section
At a glance
The six cards at the top say whether the important things are working. Each has a colour, the state in a few words and one sentence on what to do:
- Green, Working: nothing to do.
- Amber, Needs a look: fine for now, or fine for the beta, but worth knowing. For example Payments: Off during the beta.
- Red, Needs action: something is not working for families. For example Email: Not set up, which means parents never get consent links.
| Card | What it tells you |
|---|---|
| AI tutor | Live: children get real answers. Canned replies: no AI key works, add one under Connections. Live, no voice typing: answers work, but voice typing needs the OpenRouter key or a speech-to-text key. |
| Sending or Not set up (emails only go to the server log). | |
| Payments | Live, Test mode (Stripe test keys, nobody is charged) or Off. |
| Sign-up | Invite only or Open to everyone. |
| Daily budget | Today's AI spend against the cap. Amber from 80%, red when the tutor has paused. |
| Dev flags | None on is what you want. Anything else blocks launch; engineering removes it on the server and restarts. |
A card that needs a fix has a link, for example Set up email, that jumps to the right section.
Find a setting
Type in Search settings to show only the settings whose name, explanation or technical name matches, for example budget, email or voice. The buttons under it jump to a section.
How a setting reads
- 1: A real switch
- 2: Changed, not saved yet
- 3: Value in force and where from
- 4: Technical name
Each setting has:
- A plain label and a sentence on what it does for families, then what happens when you change it.
- A real control: a switch, a dollar amount, a list to choose from, or a slider.
- Where the value comes from, under the explanation:
- Default: nobody has set it, so the built-in value applies. The default is shown, for example Default: On.
- Set here · changed by mustafa@… on …: someone saved it on this page, and who and when.
- From server environment: it is set on the server itself. A value saved here takes over from it.
- A small Technical name, for example
whiteboard_enabled. You only need it when talking to engineering.
Some settings say Only matters while "Whiteboard lessons" is on: they do nothing while that other switch is off. Careful marks a setting worth thinking twice about, Legacy one the Models page has replaced.
Change settings: one review, one reason
Change as many settings as you like. Each one you change is tinted and marked Changed, with Undo change under it. Nothing is saved yet.
A bar at the bottom of the screen counts them: 3 unsaved changes, with Discard and Review & save.
The unsaved-changes bar on a phone - 1: Unsaved changes
- 2: Throw them away
- 3: Review and save
Select Review & save. The box lists every change as before → after, for example $25.00 → $40.00.
Write one reason for all of them (at least 20 characters), then select Save.
- 1: Before → after
- 2: One reason, 20+ characters
- 3: Saves each change
Each change is saved and written to the Audit log as its own entry, with your reason, and (for settings that are not keys) the old and new values. If the server refuses one, for example an amount that is not a number, the box says which one and why; the others are saved, and the refused one stays changed on the page so you can fix it and try again.
- Discard throws every unsaved change away. A message offers Undo for a few seconds.
- Reset to default (under a setting saved here) removes the saved value, so the default, or the server's own value, applies again. It is a change like any other: it goes through the review.
- Leaving the page, or closing the tab, with unsaved changes asks you first.
The page checks values before the review: an amount below zero or a port that is not a number shows the problem under the setting, and the bar says fix 1 problem first.
Learning features
| Setting | What it does | Default |
|---|---|---|
| Whiteboard lessons | The tutor may teach on a drawn, narrated whiteboard. Off: every answer is chat, even when a child asks for the board. The quick, safe off switch if boards misbehave. | On |
| Boards by default for explain questions | "How", "why" and "explain" questions, problems and photos get a board without being asked. Off: only Show me on the board gets one. | On |
| Natural narration voice | A natural AI voice reads whiteboard lessons. Off: the child's device voice reads them. Costs a little per lesson. | Off |
| Narration voice | Which natural voice, from the voices of the first narration model. Not set: each model's own voice. | Not set |
| Narration speed | A slider from 0.5× to 2×. It only changes how fast a clip plays, so it costs nothing. | 1.0× |
| AI pictures on whiteboards | A board may show one AI-drawn picture, with TutorCat's own labels on top. Every picture is safety-checked; review them in the diagram library. | Off |
| Lesson Library | General questions can be answered with a shared, reviewed lesson. See Lesson Library. | On |
| Publish new lessons without review (Careful) | New library lessons go to every child at once. Off: you approve each one on the Library page first. | Off |
Voices and speed are also on Models, under Narration voices, which has Preview voice.
Spending limits
- 1: Whole-platform daily budget
- 2: Default and today's spend
- 3: Per-child daily allowance
| Setting | What it does | Default |
|---|---|---|
| Daily AI budget | The most TutorCat may spend on AI in one day (UTC), for everyone together. At the cap the tutor pauses with a friendly message and you get one email. Today's spend shows under it. | $25.00 |
| Per-child daily allowance | The most one child's questions may cost in a day. Over it, that child is told kindly to come back tomorrow. | $0.50 |
Safety replies always work, whatever the limits.
Sign-up & beta access
- 1: Invite only or open
- 2: Beta: everyone gets Family
- 3: Off during the beta
| Setting | What it does | Default | Beta |
|---|---|---|---|
| Who can sign up | Invite only: a valid invite code is needed. Open to everyone: anyone can sign up. Existing accounts are not affected. | Invite only | Invite only |
| Everyone gets Family features | Every account gets the Family plan's features without paying. | On | On |
| Payments open (Careful) | Families can buy a plan. Off: checkout is refused. Add the Stripe keys first. | Off | Off |
Email carries parental-consent links, safety alerts and the budget alert. Until it is set up, emails are only written to the server log and the Email card is red.
- 1: All or nothing
- 2: Pick your provider
- 3: Filled in by the preset
- 4: Once saved, test it
- Under Your provider, pick Postmark, Amazon SES or Custom. A preset fills in the mail server, port 587 and encryption (STARTTLS) for you. For Amazon SES, change
us-east-1in the mail server to your region. - Fill in Username and Password. For Postmark both are your Server API token; for SES, the SMTP credentials SES generates.
- Fill in From address, for example
TutorCat <cat@example.com>. It must be verified with your provider. - Review and save.
- Select Send test email. One short message goes to your own admin address, through the settings now in force, and is noted in the audit log. If the mail server refuses it, its error is shown.
All or nothing: email works only when the mail server and from address are filled in, plus the username and password together if your provider uses them. A half-filled setup stops every email until it is complete. The section's badge says Not set up, Incomplete (with what is missing) or Complete.
Connections
- 1: Saved, never shown
- 2: Replace the key
- 3: Who changed it, when
- 4: Paste into Stripe
Keys are write-only: after you save one it is never shown again, not even to you. A key shows Saved or Not set yet, who changed it and when, or Set in the server environment.
- Add or Replace opens a box to paste the key. It becomes an unsaved change like any other.
- Clear removes the key saved here (it goes through the review too). A key set in the server environment cannot be cleared here.
| Group | Settings |
|---|---|
| AI providers | Anthropic key (Claude models directly) and OpenRouter key (the other models, natural narration, pictures and voice typing, always with zero data retention). |
| Stripe payments | The Webhook address with Copy address: add it as a webhook endpoint in the Stripe dashboard, then paste the signing secret Stripe shows into Webhook signing secret. Publishable key (pk_, not a secret), Secret key (prefer a restricted rk_ key) and Webhook signing secret (whsec_). Only needed for a paid launch. |
| Voice typing | Speech-to-text key and Speech-to-text address, only for a separate transcription service. Leave both empty to transcribe through OpenRouter. |
The audit log records only whether a key is set, never the key.
Safety & privacy
The two switches with legal weight sit in their own red section. Turning either on asks you to type a word first (VOICE or ERASE); that only adds it to your unsaved changes, and it still needs the review and a reason. Turning them off needs no word.
- 1: Type the word
- 2: Leave it off
| Setting | What it does | Default |
|---|---|---|
| Voice input for children under the consent age | Children below their country's parental-consent age may use voice input. | Not allowed. Keep off until counsel approves. |
| Erase unconsented child accounts | The daily clean-up permanently erases accounts of children below the consent age whose parent never consented within 30 days. | Off. Keep off until counsel signs off. |
Advanced
Collapsed by default; select Show. It opens by itself when you search for something inside it or have an unsaved change there.
- Read replies aloud automatically, per grade band: grades 3 to 5 (default on), 6 to 9 and 10 to 12 (default off). Parents can still change it per child.
- Teaching model and Summary model (Legacy): replaced by the per-job chains on Models.
- Speech-to-text model: the transcription model. Easier on AI and usage.
- Model price overrides (Legacy): easier on AI & Usage → Model prices, which saves the whole table safely.
- Any setting the server has that this page has no description for yet is listed here by its technical name.
Dev flags
Development shortcuts set in the server's environment are listed on the Dev flags card. They cannot be changed from the console: engineering removes them on the server and restarts.
| Flag | What it means |
|---|---|
TC_DEV_RETURN_CONSENT_TOKEN |
Consent codes are shown in the app instead of emailed. |
TC_DEV_ALLOW_LOGGING_MAILER |
Emails are written to a log, not sent. |
TC_DEV_ALLOW_FAKE_CHECKOUT |
Checkout completes without a payment. |
The safe beta posture, in one line
Who can sign up: Invite only, Everyone gets Family features: On, Payments open: Off, Erase unconsented child accounts: Off, Voice input under the consent age: Not allowed, and a daily budget you have chosen on purpose.