For teachers and their administrators

Data, privacy, and AI safeguards

TeacherHero stores your curriculum, uploads and feature-use records. Lesson generation receives curriculum fields and confirmed excerpts. If you connect ChatGPT, its account-identification tool can also receive your account ID, name and email. No student data is required, and you can disconnect or delete your account at any time.

Last reviewed · Written to be forwarded — every claim here describes behaviour enforced in the product, and the section on what we do not have is near the bottom.

What is stored, and what reaches the model

DataStoredSent to the AI model
Your accountEmail address, display name, and — for Google sign-in — your Google account ID and profile image URL. A password hash only if you registered with a password.Never sent to the lesson-generation API. If you connect ChatGPT, its account-identification tool returns your TeacherHero account ID, display name and email to identify the linked account. The home card receives name and email only as widget display data, hidden from the conversation model. Passwords, Google account identifiers and tokens are never returned.
Emails we send youA record of the few emails TeacherHero sends a new teacher — a welcome when you sign up and, if you have not built a lesson after two days, one offer of help — with when each went out, and whether you unsubscribed. The record holds which email it was, never its text. Every email has an unsubscribe link. Deleting your account deletes the record.Never sent.
BillingOnly if you subscribe: Stripe’s customer and subscription identifiers, your plan, its status and when the current period ends. The card and billing details you enter go to Stripe on its own pages and never pass through TeacherHero’s servers.Never sent.
Curriculum you writeCourse, unit, week, and lesson fields: titles, learning targets, vocabulary, notes, standards you attach.Sent. This is the context that makes each lesson continue the one before it.
Files you uploadThe file, plus two separate texts: the full extracted text, and the excerpt you confirm.Only the confirmed excerpt, and only for sources you switch on for that lesson. Extracted text you have not confirmed is never sent.
Generated lessons and exportsGenerated sections, their version history, and the PDF, slide, and document files you build.Earlier sections of the same lesson are sent forward, so a later section continues rather than repeats them.
Published library lessonsOnly if you publish a lesson: a public, versioned copy of its setup and six sections, answer keys included, with the grade, subject, standards and your display name. Other signed-in TeacherHero teachers can read it and copy it into their own account. Your email address is not shown, and uploaded source text is left out unless you marked it shareable. Withdrawing a lesson hides it from the library; deleting your account removes it.Never sent.
Slide designsThe design you pick for each deck, whether a deck leaves its independent work on the printed handout, your default, and any designs you save: a name plus choices from fixed lists — colours, fonts, the shape the directions sit in. Saving a change keeps the earlier version, so a deck you already made looks the same until you apply the new one.Never sent. A design changes how slides look and the handout choice changes which slides carry the questions — neither changes what the lesson says, and choosing one never regenerates anything.
Pictures and GIFs on slidesPictures and GIFs you upload, kept private to your account: the file is served only to you and placed only in your own slides, and they are never published to the lesson library. A photo is re-saved without its embedded details, such as where it was taken. For a GIF found through GIPHY, only GIPHY's id for it and the words it was found with — never a copy of the GIF. Deleting a picture, or your account, removes the file.Never sent. When the coach writes a warm-up about a GIF, it suggests the search words; the picture itself never reaches the model.
Assistant conversationsWhat you type to the in-app assistant, its replies, any text you attach for it to build a lesson on, and a record of each change it made or proposed — with what is needed to undo it. Only if you use the assistant.Sent, together with the lesson or week you are looking at, so it can act on it — except a text you attach: the assistant sees only its title and length, and the text itself reaches the coach only as a source of the lesson it builds, like any text you add to a lesson. Nothing from any other teacher's account.
ChatGPT connectionOnly if you connect TeacherHero to ChatGPT: a record of the connected app (its name, when you linked it, when it was last used) and hashed access tokens, never the tokens themselves. Also a record of each change ChatGPT made to a lesson, with what is needed to undo it. Disconnecting revokes the tokens at once, and deleting your account deletes all of it.Sent, when you use TeacherHero in ChatGPT: the lesson content those requests return goes to OpenAI’s ChatGPT under your ChatGPT account’s own data settings. Uploaded source text you have not confirmed never does.
Feedback you sendOnly if you use “Something’s wrong here” on a lesson: what you wrote, the slide you named if any, which lesson and which part of it the note is about, and the prompt version that produced that part, so the note can be traced to what generated it. Read only by the TeacherHero team to improve lesson generation. Kept until the lesson is deleted for good (a trashed lesson is, after 30 days) or you delete your account.Never sent.
Usage recordsOne row per AI call: which lesson, token counts, cost, duration, and the prompt version. When a draft is rejected and retried, a short reason, which can quote a line of the draft. Never the prompt or the full response. Deleting a lesson for good keeps these rows, because they record calls that were made, but unlinks them from it and removes those reasons. Deleting your account deletes them.Never sent.
How you use the productOne row per action: an event name from a fixed list (“made a lesson”, “generated a section”, “left the tour at step 4”), when it happened, which page it happened on, and a per-tab session id. Values are limited to short identifiers, counts, and buckets — there is no field that can hold a title, a learning target, or any other text you wrote. Signed-in use only; the public pages are not instrumented at all. Deleting your account deletes all of it.Never sent.
Last activeWhen you were last signed in with TeacherHero open, and which part of the product you were in, from a fixed list (dashboard, course, unit, week, lesson, library, account). It is one time and one place, overwritten each minute you are here, never a history, and nothing you wrote. The TeacherHero team sees it to know who is using the product right now. Deleting your account deletes it.Never sent.
Student dataNone. Nothing in the product asks for a student name, record, or grade, and nothing should be entered.Never — because it is never collected.

The two-column rule for uploaded material

When you upload a document or fetch a web page, TeacherHero stores two different texts against it. One is the full extraction — everything the parser could read out of the file. The other is the excerpt you confirm.

Only the confirmed excerpt is ever placed in front of the AI model, and only for sources you have switched on for that lesson. The full extraction stays in the database and is used for nothing else. This is why an unconfirmed source carries a “Not sent to AI” badge in the interface: it is a description of the code path, not a reassurance.

Documents above 50,000 characters cannot be auto-confirmed at all — you have to author the excerpt yourself, which means a long PDF cannot be sent to a model by accident.

AI safeguards

Teacher-supplied text is fenced as data. Curriculum fields, source excerpts, and refine instructions are all labelled to the model as classroom material to plan around rather than as instructions addressed to it. This matters because a confirmed excerpt is arbitrary text lifted out of a PDF or a colleague's worksheet: the teacher vouches that it is classroom material, not that nobody wrote “ignore your instructions” inside it.

Output is bounded to what students can be handed. The model is instructed that everything it writes may be printed and given to a child at the stated grade level, and is forbidden from producing content that identifies, profiles, diagnoses, or evaluates an individual student. That rule matches how the product actually works — it is given a class and a learning target, never a child.

Generation is structured, not open-ended. Every AI call returns a typed object validated against a schema before it is stored, and a response that fails validation is rejected and retried rather than shown. There is no free-form chat surface where a student could talk to a model.

A teacher reviews everything. Nothing generated is published, sent, or shown to students automatically. Every field is editable, and the export you hand out is one you chose to build.

Google Drive uses the narrowest scope that exists

Connecting Drive requests the drive.file scope and nothing wider. That scope grants an application access only to files it creates itself.

TeacherHero cannot list, open, or modify anything else in your Drive — not as a matter of policy, but because it was never granted the permission. Connecting Drive is also optional and separate from signing in; you are asked for it only when you first export to Drive.

Disconnecting is one step on our side and one on Google's: delete your account or remove the connection here, and revoke the app at myaccount.google.com/permissions.

Retention and deletion

Your content is kept until you delete it. There is no automatic expiry, because a unit you wrote last year is one you may teach again.

Deleting a course, unit, week or lesson moves it to your Trash, where it stays out of every page and out of everything sent to the AI model, and you can restore it for 30 days. After 30 days it is deleted for good, automatically, and you can delete it for good from the Trash sooner.

Deleting your account is immediate and irreversible, and you can do it yourself from the account menu behind your name in the top bar — it is not a support request. It removes your account, every course, unit, week, lesson, generated section, version history, uploaded file, export, usage record, and piece of feedback you sent, along with any lesson you published to the shared library and any app you connected to your account.

One thing does not come back: a lesson another teacher already imported from the library is a full copy that they own, so it stays in their account. That is the same for any shared material, and it is why publishing to the library is a deliberate, per-lesson action rather than a default.

Deletion removes your records from the live database straight away. We do not take scheduled backups. Before a change to the database we may take a one-time safety copy on our own server, and we delete it within 30 days, so a deleted account can persist in one for at most 30 days.

Where it runs

TeacherHero runs on infrastructure operated by CX Ventures, with the database on hardware we control rather than a shared managed service. Traffic is served over HTTPS through Cloudflare.

Stored Google refresh tokens are encrypted at rest with a key held outside the database.

Who else receives your data

OpenAI

Generates lesson content. TeacherHero currently uses OpenAI's API for every AI call.

The curriculum context for the lesson being generated, plus any source excerpts you confirmed. Sent through the API, which OpenAI does not use to train its models.

Google

Optional. Sign-in, and export to your Google Drive if you connect it.

For sign-in: your email, name, and profile image. For Drive: only the files TeacherHero itself creates — see the scope note below.

Stripe

Payments, only if you subscribe.

Your email and name, so the customer record matches your account, plus the card and billing details you enter on Stripe’s own pages. TeacherHero keeps only Stripe’s identifiers for you and your plan status.

Resend

Sends TeacherHero’s emails to you: the welcome when you sign up and the one follow-up.

Your email address, your name for the greeting, and the email itself. Nothing from your curriculum or lessons.

GIPHY

Optional, and only where GIPHY search is switched on: finding a GIF for a slide, and showing it when the slides are opened online.

The search words, sent from your own browser; TeacherHero's servers send GIPHY nothing. A slide shows a GIPHY GIF by loading it from GIPHY, so a device opening the slides online makes that request. PowerPoint and PDF files carry a link to the GIF instead of a copy.

ChatGPT

Optional, and only if you connect TeacherHero to ChatGPT. ChatGPT is OpenAI’s product under your own ChatGPT account, not a service TeacherHero calls on your behalf.

The lesson content ChatGPT asks for, plus account ID, display name and email when it identifies the connected account. The home widget also receives name and email as display data hidden from the conversation model. This is handled under your ChatGPT account’s data settings and OpenAI’s terms for ChatGPT, not the API terms above. Uploaded source text you have not confirmed is never returned to it.

Cloudflare

Network layer in front of the application.

Request metadata in transit — IP address, user agent, requested URL. No curriculum content is stored there.

What we do not have

Competing tools merchandise these as badges. We do not hold them, so we do not claim them — and you should be able to find that out here rather than three weeks into a procurement conversation.

  • No SOC 2 report. TeacherHero has not completed a SOC 2 Type I or Type II audit.
  • No FERPA, COPPA, or Ed Law 2-D certification. These are laws rather than certifications, and vendors demonstrate compliance through signed agreements and controls. We have not completed that process, and we do not currently sign district data-privacy agreements.
  • No Common Sense Privacy certification, and no state privacy-alliance listing.
  • No student accounts, no admin console, no organization-wide access. TeacherHero is a single-teacher product today. There is no district tenancy, no SSO, and no administrator view of staff activity.
  • If your district requires a completed vendor review or a signed data-privacy agreement before staff may adopt a tool, treat that requirement as unmet today and check with your district first.

Frequently asked questions

Is TeacherHero FERPA compliant?

TeacherHero holds no FERPA certification and does not currently sign district data-privacy agreements. It is designed so the question rarely arises: no student names, records, or work are collected, so there is no education record in the system to protect. Check with your district before adopting any tool.

Is my curriculum used to train AI models?

TeacherHero does not use your curriculum to train models, and content sent through OpenAI's API for lesson generation is not used for training. If you connect ChatGPT, its handling of content returned in your conversation depends on your ChatGPT account's data settings. Your material is never published to TeacherHero's library unless you deliberately publish a lesson.

What exactly gets sent to the AI provider?

Lesson generation through the API receives curriculum context — course, unit, week, lesson target, earlier lessons and the sections already written — plus source excerpts you explicitly confirmed. It receives no account information or unconfirmed extracted text. The optional ChatGPT connection separately returns requested curriculum and can return your account ID, name and email through its account-identification tool.

Does ChatGPT see my lessons?

Only if you connect TeacherHero to ChatGPT. Requested lessons and account-identification results (account ID, name and email) reach OpenAI under your ChatGPT account’s data settings. Home-card identity is widget display data hidden from the conversation model. It never receives uploaded source text you have not confirmed, passwords or billing details. You can disconnect from the account menu.

Can I delete my account and everything in it?

Yes, from the account menu behind your name in the top bar, immediately, without contacting anyone. It removes every course, lesson, upload, export, and usage record, plus anything you published to the library. Lessons another teacher already imported are copies they own and stay with them.

Can TeacherHero see the rest of my Google Drive?

No. Drive export requests the drive.file scope, which grants access only to files the application itself creates. Everything else in your Drive is invisible to it — not by policy but by permission. Connecting Drive is optional and separate from signing in.

Do students use TeacherHero directly?

No. It is a planning tool for teachers, with no student accounts and no chat surface a student could reach. Students see what you print or project — the packet, slides, and handouts you chose to export.

Example free · generation with Pro

Your curriculum stays yours.

Nothing you write is published unless you publish it, nothing is used to train a model, and you can delete all of it yourself in one step.

Explore the example free