Privacy

Privacy policy

This policy explains what TeacherHero collects when you use the website or connect it to ChatGPT, why, who receives it, how long it is kept, and how you control it. In short: teacher accounts and curriculum only, no student accounts or student data, no advertising, no sale of personal information, and a deletion you can do yourself, immediately.

Effective · CX Ventures LLC

Who we are

TeacherHero is operated by CX Ventures LLC (“CX Ventures”, “we”, “us”). This policy covers teacherhero.org, the TeacherHero web app, and TeacherHero’s connection to ChatGPT. It does not cover ChatGPT itself, which OpenAI operates under its own terms and privacy policy, or the other sites we link to.

Questions about this policy go to [email protected].

What we collect, and why

TeacherHero is a planning tool for teachers. It collects the categories below and nothing about students, because nothing in the product asks for it. The middle columns are the same inventory as the trust page, which is kept in step with this one.

CategoryWhat we storeWhySent to an 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.To create your account, sign you in, and tell you apart from other teachers.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.To welcome you, offer help if you get stuck in your first days, and never email you again after you unsubscribe.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.To run your subscription and show you your plan.Never sent.
Curriculum you writeCourse, unit, week, and lesson fields: titles, learning targets, vocabulary, notes, standards you attach.To keep your courses, and to give the AI coach the context it needs to write lessons that continue one another.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.To let your lessons draw on your own materials, as far as you choose.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.To keep the lessons you asked for and the files you build from them.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.To share a lesson with other teachers, only when you choose to.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.To draw your slides the way you picked.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.To put the pictures and GIFs you chose on your slides.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.To run the in-app assistant and let you undo what it changed.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.To link your account to ChatGPT, keep that link working, and let you end 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.To trace a problem you report to the lesson part and prompt that produced it, and fix it.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.To meter generation, enforce limits and understand what the service costs to run.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.To see where teachers get stuck, and fix 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.To know who is using TeacherHero right now, so we can see a problem as it happens and avoid changing things under someone mid-lesson.Never sent.
Student dataNone. Nothing in the product asks for a student name, record, or grade, and nothing should be entered.Not applicable: none is collected.Never — because it is never collected.

When you add a web page or a YouTube link as a source, our servers fetch it from the address you give us and keep the text in the same two-part form as an uploaded file.

We also receive routine technical information whenever your browser or ChatGPT contacts our servers, such as the IP address, browser type and the page requested. Cloudflare, which sits in front of the site, handles that traffic too.

How we use it

  • To run the service you asked for: store your curriculum, generate and edit lessons, build your files, and show them to you.
  • To send the lesson context an AI model needs to write what you ask for, and nothing beyond it (see the next section).
  • To bill you, if you subscribe, and to enforce the limits on AI use.
  • To keep the service secure, prevent abuse and fix faults.
  • To answer you when you write to us.
  • To understand, in aggregate, which features are used and where teachers get stuck.
  • To meet legal obligations.

We do not sell your personal information, we do not use it for advertising, and we do not use your curriculum to train a model. Content we send to OpenAI through its API is not used by OpenAI to train its models.

What reaches an AI model

Lessons are written by an AI model provider, currently OpenAI, through its API. It receives the curriculum context for the lesson being generated: the course, unit, week, learning target, earlier lessons and the sections already written, plus any source excerpts you confirmed. It never receives your account details.

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.

If you connect TeacherHero to ChatGPT, the lesson content that ChatGPT asks for reaches OpenAI inside your conversation, under your ChatGPT account’s own data settings rather than through our API. The account-identification tool also returns your TeacherHero account ID, display name and email to identify the linked account. The home card receives name and email as widget display data hidden from the conversation model. Your password, Google account identifiers and tokens are never returned. Source text you have not confirmed is never returned to ChatGPT.

Who else receives your information

These are the services that receive personal information on our behalf or because you chose to use them. The list is the same as the trust page’s, and a service not named here does not receive your information.

RecipientWhat forWhat they receive
OpenAIGenerates 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.
GoogleOptional. 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.
StripePayments, 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.
ResendSends 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.
GIPHYOptional, 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.
ChatGPTOptional, 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.
CloudflareNetwork layer in front of the application.Request metadata in transit — IP address, user agent, requested URL. No curriculum content is stored there.

We do not sell or rent personal information. We share it beyond this list only where the law requires, to protect the service or its users from harm, or as part of a sale or reorganisation of the business, which we would tell you about first.

A small number of CX Ventures administrators can see account details in an internal tool: your email and name, your plan and billing status, the titles of your courses and counts of your lessons, and records of AI calls (which part, how many tokens, what it cost). The tool does not show the text of your lessons. Because we operate the servers we could technically read the database, and we do not read teachers’ lessons except where you ask us to help, where we must to investigate abuse or a security problem, or where the law requires.

How long we keep it

Where a period is fixed, it is listed. Where it is not, we say so rather than imply one.

WhatHow long
Your account and curriculumUntil you delete them. There is no automatic expiry, because a unit you wrote last year is one you may teach again.
After you delete your accountRemoved from the live database immediately: your account, courses, lessons, uploads, pictures, exports, feedback you sent, usage records, product telemetry, ChatGPT connections and any lessons you published. A lesson another teacher already copied from the library stays with them, because it is their copy.
BackupsWe 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.
Your sign-in cookieUp to 30 days, or until you sign out.
ChatGPT connectionApproval codes last 5 minutes and work once. Access tokens last 60 minutes. Refresh tokens expire after 60 days without use and are replaced each time they are used. Disconnecting revokes all of them at once. The record that you connected an app, and of the changes it made, stays with your account and is deleted with it.
Usage records and product telemetryKept with your account and deleted with it. They have no separate expiry today.
Feedback you sendKept until you delete the lesson it is about or your account, which deletes it. No separate expiry today.
Billing recordsStripe keeps payment records as its own policies and tax and accounting law require, and deleting a TeacherHero account does not erase them. TeacherHero keeps Stripe’s identifiers for you until the account is deleted.
Emails you send usAs long as we need them to help you and to keep a record of the conversation.
Server logsKept on our own server for troubleshooting and security. They are capped in size and overwritten automatically, and a service's logs are discarded when a release replaces it. They record service activity and errors; an error entry can include a fragment of the data involved.

Your choices and controls

  • See and change. Everything you have made is visible and editable in the app.
  • Export. Build PDFs, slides, documents and ZIP bundles of any lesson from its Export center, or printables for a whole week. There is no single download-everything button yet; if you need a copy of your account data in another form, email us.
  • Disconnect ChatGPT. Open the account menu behind your name, choose Connected apps, then Disconnect. It stops at once.
  • Google. Sign-in with Google is optional, and Drive export is a separate step that asks only for access to files TeacherHero itself creates. Revoke either at myaccount.google.com/permissions.
  • Withdraw a published lesson. From its page in the lesson library.
  • Cancel a subscription. Account menu, Plan & billing, Manage subscription. Cancel there before you delete your account.
  • Delete your account. Account menu, Delete account, then type your email to confirm. It is immediate and cannot be undone.
  • Ask us. For anything the app does not offer, such as a copy of your data or a correction, email [email protected].

Students and children

TeacherHero has no student accounts and does not ask for student names, records or work. Please do not enter any. Publishing a lesson to the library requires you to confirm you have removed student-identifying information. TeacherHero is not designed to hold education records.

TeacherHero is for adult educators. It is not directed to children under 13, and we do not knowingly collect personal information from them. If you believe a child has given us information, email us and we will delete it.

We do not currently sign district data-privacy agreements. The trust page lists what we do and do not hold, for a district that needs to check.

How we measure use

We run our own product telemetry, on our own servers. It records which features a signed-in teacher uses, as an event name from a fixed list, when it happened, which page, and a random per-tab session id. Values are short identifiers, counts and categories; there is no field that can hold a title, a learning target or any other text you wrote. The public pages are not instrumented at all, and the app and website include no third-party analytics or advertising code.

Cookies and local storage

TeacherHero sets only what it needs to work. There are no advertising or analytics cookies.

NameWhat it is forHow long
authjs.session-tokenKeeps you signed in. Strictly necessary.Up to 30 days, or until you sign out
authjs.csrf-token, authjs.callback-urlSign-in security, and returning you to the page you came from.Until you close the browser
theme (browser storage)Remembers light or dark. Not sent to us.Until you clear it
Tour and tip dismissals, assistant window position (browser storage)So tips do not repeat and the assistant stays where you put it. Not sent to us.Until you clear them
Telemetry session id (tab storage)A random id that groups one tab’s events. Signed-in use only.Until you close the tab

Cloudflare, Google (if you sign in with it), Stripe (on its own pages) and GIPHY (when you search for or view a GIF) may receive requests from your browser and set cookies of their own, under their own policies.

How we protect it

  • Traffic is served over HTTPS through Cloudflare.
  • Passwords are stored only as salted hashes. Stored Google refresh tokens are encrypted at rest with a key held outside the database, and ChatGPT access tokens are stored only as hashes.
  • Every request is limited to the signed-in teacher’s own account.
  • Uploaded files and pictures are private to your account.

No system is perfectly secure, and we cannot promise it. If you think your account is at risk, email us.

Changes to this policy

When we change this policy we change the date at the top. For a material change we will tell signed-in teachers, in the app or by email, before it takes effect.

Contact

CX Ventures LLC. Email [email protected]. For help with using TeacherHero rather than a privacy question, see support.