Privacy Policy
What is collected
- Your Cal Poly email — to verify you’re a student and to sign you in. You can sign in with a one-time emailed code, or set a password. A password is stored only as a hash, by the authentication service, and is never readable by anyone including us.
- Profile — display name, username, optional photo, optional Instagram handle, major, concentration, class standing.
- Classes — the courses you save, and if you import your schedule, your exact sections: class number, instructor, meeting days and times, and whether you’re enrolled or waitlisted (including your waitlist position, if you enter it).
- Past classes — courses you mark as taken, with term and professor.
- Friends — who you’re connected to, and pending requests.
- Reviews — your ratings and written notes, stored with your account so you can edit or delete them.
- Messages — what you send in a direct or group conversation, who is in it, and when each message was sent. A class or professor you suggest is stored as the course code or the professor, not as a copy of what was on your screen.
- Professors you suggest — the professor, and that it was you. There is no score attached; a suggestion cannot move anyone’s rating.
- Your birth year is asked at sign-up and not kept. The Terms say TermChamp is for 13 and over, so the sign-up form asks the year you were born, compares it, and drops it. There is no field for it on your profile and it never reaches the database.
- No phone number, in any form. Contact matching was retired, and on 7 September the hashing that went with it was deleted too — it used a fixed prefix that was visible in the page source, which made it readable to anyone who ever held the table. There was no reason to keep a stored secret that was not secret.
Counting, and what it deliberately cannot do
TermChamp counts which professor pages are opened and which are shown on screen, so it can show a Looked at most this week strip and know which parts of the site are used. That is the whole list of what TermChamp itself records: not what you type (except the questions you ask Champ, below), not what you read, not how long you stay. Google Analytics, described further down, is a separate thing that records different information — read that section too.
These counts are not attached to your account. The obvious way to build this is to store your user id next to each professor you looked at — which would be a browsing history of named students against named professors at one school, sitting in the same database as reviews we promise are anonymous. It is not built that way. Each count carries a pseudonym your browser works out from a random number stored on your device. It is not your user id, it is not derived from one, and it is never written next to your account.
It does not change from day to day, and that is a change from how this used to work. It used to be scrambled fresh every midnight, which meant we could never tell whether anyone came back — and knowing whether students find this useful enough to return is the one question we cannot build the product without. So now it stays the same on this browser. Being straight about what that means: we can see that one browser opened these professor pages over several weeks. We cannot put your name on it, because nothing links the two, and no part of this site joins these counts to your reviews — that is enforced by a test, not by good intentions.
Clearing this site’s data gives you a new pseudonym and ends the old one. A different browser or phone is already a different one.
The counts are deleted after 30 days. If your browser sends Global Privacy Control, nothing is counted at all — that signal is about selling data rather than counting, so this is more than is required, but it costs nothing to honour.
Google Analytics
Separately from the counting above, this site uses Google Analytics to see how many people use TermChamp, how they found it, and whether they come back. Google sets its own cookie in your browser for that, and the data sits with Google rather than with us.
What Google is sent: which tab you are on — Home, Explore, Schedule, Friends — along with your device and browser, an approximate location worked out from your IP address, and the link or search that brought you here.
What Google is never sent: which professor or class you looked at, anything you typed, your account, your name, or your school email. Those stay on this site. The page addresses we hand Google name a tab and nothing else, on purpose: Google ties everything it receives to its own cookie, and a professor’s name in that stream would be the browsing history this page promises does not exist — kept somewhere our rules cannot reach.
Advertising features and ad personalisation are switched off. If your browser sends Global Privacy Control or Do Not Track, Google Analytics is not loaded at all on this site — no cookie, nothing sent. You can also block it with any content blocker, and the site works exactly the same.
The iPhone app does not load Google Analytics at all.
Champ, the assistant
Champ (called Hawk on the website) answers the questions you type to it. In the phone app it asks first: nothing is sent until you tap Allow, and you can turn it off again in Settings; after that, every question you ask Champ in the phone app goes to Anthropic. On the website, many answers are worked out in your browser. When you are signed in, questions that need more than a simple lookup are sent, through TermChamp’s server, to Anthropic, the company that makes the Claude AI models, so a model can work out what you are asking for. When you are signed out, nothing you type into Champ leaves your browser.
What is sent to Anthropic: the words you typed and the current term — never your name, email or account. When Champ writes a short explanation under a list of classes, the classes on screen are sent too: course, title, meeting time, professor and rating, open seats, whether each one fits your week, and whether it is one of your GE areas or major requirements. The line that says how Champ read your question goes with them, and it can name the GE areas you still need.
What TermChamp’s own server sees: that you are signed in, because only signed-in students can use the AI. It counts how many Champ questions, and how many Not it? taps, each account makes per hour and per day, so costs and misuse cannot run away; those counts are all it keeps against your account. The questions themselves are stored only under the browser pseudonym described under Counting, never next to your account.
What is never sent: your saved classes and schedule, your friends, your past classes, and your degree record itself. Champ works out anything about those in your browser. Words you type are sent as typed, though — so a friend’s name in a question goes with the question.
What is kept: each question sent to Anthropic (its first 300 characters), what Champ did with it and what it cost, for about 30 days. Old questions are cleared as Champ is used, so in a quiet week one can stay a few days longer. If you tap Not it?, or pick one of Champ’s suggestions after it was unsure, that question and what Champ did with it are kept the same way, so we can fix the mistake. Champ’s explanations are not kept. If your browser sends Global Privacy Control, Champ still answers — the question has to reach the model for that — but TermChamp keeps no record of what you asked, only that a question was asked and what it cost. Anthropic handles questions under its commercial terms, which do not let it train its models on them.
Who can see what
- Your school email address: your accepted friends, and no one else — so that people working on the same group project can actually reach each other. Accepting a friend request is what shares it. A request you have sent, or been sent, and not yet accepted shares nothing; removing a friend ends their access. Your browser is never given the address of anyone you are not already friends with — the database works out who qualifies and sends only those, so the list cannot be widened by the app asking differently.
- Your classes and schedule: your accepted friends. Remove a friend and their access ends.
- Your reviews: the rating and text are public and visible without an account. Who wrote them is not. Reviews are served to everyone — signed in or not — from a database view that does not contain an author column at all, and the underlying table is readable only by the person who wrote the row. There is nothing to look up.
- The one exception, and it is yours to make: each review has a switch, off until you turn it on, that lets your accepted friends see that a review is yours. It applies to that one review, never to the others, and turning it back off ends the access. Nobody else — not other students, not signed-out visitors, not professors — is affected by that switch.
- Your messages: the people in that conversation, and nobody else. Membership is checked by the database on every read, so a thread you are not in returns nothing rather than being hidden by the app. Leave a thread and your access to it ends.
- Professors you suggest: your accepted friends, on that professor’s page. Not the public, and not the professor.
- Your past classes and saved classes: only you, except where a friend shares a class with you.
- Your plans (Plan A, B and C): your accepted friends at your school, one plan at a time — each plan has a Friends can see switch, on until you turn it off. Nobody else sees a plan. Every section in a plan is also on your watchlist, for seat alerts.
- How many students plan a section: a section that is in anyone’s plan or watchlist is counted, and other students at your school see that count (“9 in plans”) only once at least three other students have it. The count never says who, never includes the person looking, and is worked out by the database, which sends only the number.
What we can read
Messages are not end-to-end encrypted. They are encrypted in transit and stored in the database like everything else, which means whoever holds the database keys could read them — today that is one student maintaining this project. Do not put anything in TermChamp you would not put in a group text. If that changes, this page changes with it.
Where it lives
In a Supabase-hosted Postgres database on servers in the United States. Traffic is encrypted in transit. Photos are stored in Supabase Storage; a photo you upload is publicly reachable by its URL, so treat it as public.
Notifications
If you turn on notifications, TermChamp stores what is needed to deliver them: in the iPhone app, the device token Apple gives your phone; in a browser, the push address and keys your browser gives it. They are linked to your account so a notification reaches you, and are used for nothing else. Signing out of the iPhone app removes that phone’s token; deleting your account removes all of them.
Notifications are only about things that involve you: a seat opening in a section you watch or have in a plan, a planned section filling up, registration opening, a friend request, a friend joining a class you are in, a message or a like in your chats, and being added to a group. You choose which in Settings › Notifications, and you can mute any chat. A message notification shows who sent it and what it says, so that text goes through Apple to your phone. TermChamp keeps a record of each notification, so the same one is not sent twice: 7 days for messages and likes, about a year for the rest.
Who else is involved
- Supabase — database, sign-in and file storage.
- Resend — sends your sign-in codes and the emails about deleting your account; sees your email address.
- PolyRatings — their public API supplies professor ratings. Your data is never sent to them.
- Anthropic — the AI model behind Champ. It receives the questions you ask Champ while signed in, as described under Champ above.
- jsDelivr and Google Fonts — serve code and fonts to your browser, and therefore see your IP address, as any site’s CDN does.
- Apple — delivers notifications to the iPhone app, so it receives the device token and the text of each alert.
Nobody else receives your data. It is not sold, rented, or shared for advertising.
How long it is kept
While your account exists. Delete your account and it is hidden from other students straight away; after 30 days your profile, classes, sections, past classes, plans, watchlist, friend links, suggestions, posts, blocks and messages are deleted with it. Sign in during those 30 days to recover it. Your email address is used for two emails about it — one when you ask, one when it is done — and is then removed. Backups may keep copies for a short period before rolling off.
Champ questions: about 30 days (see Champ), under a pseudonym that is not attached to your account — so deleting your account cannot find them, and does not need to.
Messages specifically: they are kept until you delete them or delete your account — they are not rolled off on a timer today. Closing your account deletes the messages you sent, everywhere they appear, including in other people’s threads. It does not delete anyone else’s messages: a thread you started stays open for the people still in it, minus your side of it. Leaving a group removes your access to it but does not delete what you already sent, the same way leaving a group text does not unsend your messages. Delete your own message and it is gone for everyone.
Your reviews, when you delete your account
You choose. The delete screen has a Keep my reviews up anonymously switch, on unless you turn it off. Off: your reviews are deleted with your account. On: they stay up, but they stop being yours — we set the author field to null, so afterwards no record anywhere links a review to you. It is not merely displayed anonymously; there is nothing left to look up, by us or by anyone asking us.
Why keeping them is the default: a review is what another student came here to read, and it is already part of a professor’s average. Removing it would silently change a number other people made decisions on, and would mean every professor’s rating shifted whenever an unrelated student graduated and closed their account.
The trade is that an anonymised review can’t be edited or taken down afterwards, because nothing identifies who wrote it. So if you want a review gone, delete it before you delete your account — open Your reviews from Settings and remove any you don’t want kept. You can do that at any time, for any reason, without deleting your account. The delete screen says this too, before you confirm.
Your choices
- Edit or remove almost everything yourself — photo, name, classes, reviews, friends.
- Delete your account from Settings. You have 30 days to change your mind.
- Want a copy of your data, or something corrected? Email support@termchamp.com.
Students under 18
Some first-years are 17. TermChamp is not designed for children under 13 and does not knowingly collect their data. If you believe someone under 13 has an account, email support@termchamp.com and it will be removed.
Changes
If what is collected or who can see it changes, the date above changes and you’ll be told in the app. Questions: support@termchamp.com