Privacy
Last updated: May 2026
KISJ GPA Calculator is a personal project. The goal of this page is to be straightforward about what the site stores and why. This project is licensed under the MIT License. All code is public.
What gets stored on the server
If you create an account, the database (hosted on Turso) holds:
- Your username.
- A hashed copy of your password (argon2 — the plain password is never stored).
- Your email address, if you set one.
- Your Google account ID, if you link Google sign-in.
- Your grade data: subject names, scores, and targets.
- An opaque session ID and its expiry timestamp.
All data stored in the database is encrypted. It is guaranteed that your personal data will not be shared or accessed by anyone for any means. Creating an account is not required and your data will be stored locally inside your browser instead.
What gets stored in your browser
- A session cookie (HttpOnly, SameSite=Lax) for staying signed in. It expires 10 minutes after each refresh.
- Your grade data in localStorage, so the site works without an account. While you are signed in, localStorage is not modified.
- Your display preferences in localStorage: theme, privacy mode, and decimal precision.
- The collapsed/expanded state of each subject card, stored alongside your grade data.
Third parties
Sign-in with Google is optional. If you use it, your Google profile (account ID and email) is shared with this site so it can recognize you on future visits. Nothing else is sent to Google.
The site itself runs on Render and stores data on Turso. No analytics, ad networks, or trackers are loaded.
Sessions and auto-logout
Sessions last 10 minutes from the most recent refresh. You can extend a session from the header, or log out manually. When the timer runs out, the session is invalidated on the server, the cookie is cleared, and the expired session row is deleted from the database (immediately on next access, and on an hourly basis).
Deleting your account
Visit your account page and use "Delete account". This removes your user record, your grade data, and all sessions tied to it. The action is immediate and not reversible.
Contact
Questions or requests: open an issue on the GitHub repo, or contact the author directly.