Security
Signing in
Sign in with a one-time code emailed to your school address, or with a password you set. A password is stored only as a hash by the authentication service; nobody can read it, us included. Sessions are held in your browser and refresh in the background; signing out clears them.
How your data is separated
Every table uses database-level row policies, so who can read a row is decided by the database rather than by the app asking nicely. Friend access is checked against an accepted friendship each time, not cached and trusted.
Messages work the same way and one step further: reading a conversation requires a membership row, and that check runs inside the database on every query. A conversation you are not in does not return a filtered version — it returns nothing.
Review anonymity, and what changed
Until 28 August 2026, the author id on a review was readable by any signed-in student. Review text was always meant to be public and the author never was, so this page and the Privacy page were both making a promise the database did not keep. It is closed: reviews are now served from a view that has no author column, and the table underneath is readable only by the person who wrote the row. That is a stronger guarantee than a rule about who may look, because there is no longer anything to look at.
The per-review “show my friends I wrote this” switch was added at the same time and not before, because offering that choice on top of the old behaviour would have been offering a choice that had already been made for people.
What we do not do
- No advertising trackers. Google Analytics counts visits, as Privacy explains; it is never told what you look at or type.
- No selling or sharing of personal data.
- No phone numbers, and passwords only as a hash.
- No reading of your Cal Poly account — the class data comes from Cal Poly’s public class search, not from your portal. TermChamp never asks for your Cal Poly password, and you should never give it to us or anyone else.
Honest limits
- This is a student project maintained by one person, not a company with a security team.
- It has not had an independent penetration test.
- Anything you post as a review is public. Treat it as permanently public.
- A profile photo you upload is reachable by anyone with its link.
- Messages are not end-to-end encrypted and can be read by whoever holds the database. They are private from other students, not from us.
- There is no automatic moderation of messages. You can leave a conversation, and only your accepted friends can start one with you, but nothing scans what is sent. If someone is using this to harass you, report or block them in the app, or email the address below.
Found a problem?
Please report it rather than testing how far it goes. Email support@termchamp.com with what you found and how to reproduce it. Reports made in good faith are welcome, and you won’t be pursued for reporting one. Please don’t access, change or keep other students’ data while investigating.
If something goes wrong
If student data is exposed, affected people will be emailed at the address on their account, with what happened and what to do, as soon as the facts are established.