What we keep, and for how long.
This page says what Cali Review keeps about the people who use it, which cookies it sets, who else handles that data, how long it is kept and how to have an account deleted. It is written to be read, and if a line is unclear we would like to know.
In short
- We keep your email address and, on a paid plan, your study records. A free account keeps its study records in your own browser only.
- We set two cookies. Both are needed for the site to work. The details are under Cookies and browser storage.
- We run no advertising and no analytics, and we sell nothing.
- Your data is kept on servers in Mumbai, India.
- To see it, correct it or delete it, email hello@calireview.com.
What we keep, and when
What we keep depends on what you do. Reading the pages of this site keeps nothing about you in our database.
Looking around
You can read the pages of this site without an account. Our host, Vercel, sees your network address and your browser, as any web host does, and keeps ordinary server logs. Our pages set no cookies of their own and run no analytics or advertising. The study planner works in your browser and sends nothing to us. The contact form opens your own email program with a message ready to send; nothing reaches us until you send that email.
Free practice questions are the one exception for a visitor. The first time the site serves a question to a visitor who has no account, it sets the cookie cr_anon, and it counts each question served against the random number in it. We keep that number, the question numbers and the time each was served. The record holds no name and no email address. If you have an account, the count is kept against the account instead.
Your account
Asking for a sign-in link makes your account, before you click the link, so typing your address into the sign-up form is enough for us to keep it. We keep your email address, written in lower case, and the day the account was made.
A password is optional. If you set one, we keep only a scrambled form of it (an Argon2id hash) that cannot be turned back into the password.
A sign-in link works once and stops working after 15 minutes (30 for a password reset). We keep each link only as a one-way hash, so the link itself cannot be read back from our records.
Devices and sign-ins
Each browser you sign in from makes a random device number and keeps it in its own storage. We keep that number with a label such as “Chrome on Windows” and the first and last time we saw the device. An account can be signed in on 2 devices at once.
Each sign-in records the time, the device and the network it came from. We do not keep your address. We keep a network prefix: the first three blocks of an IPv4 address, so 24.5.1.77 is kept as 24.5.1.0/24 (an IPv6 address is cut after its first three groups), and a one-way hash of the full address that cannot be turned back into it. We use these to notice a login that seems to be shared between people, and for nothing else. They never stop you signing in. The Sign-in & security page in your account says the same.
Keeping the site safe
To slow down abuse we count requests per network and per email address. The counters hold one-way fingerprints, never the address itself.
Studying
If you have a free account, your study plan, error log, test records and practice records stay in your own browser. Our server refuses to store them. They do not follow you to a second device, and clearing your browser’s site data removes them.
If you have a paid plan, those records are also copied to our servers, so that your plan, history and error log follow you to your second device. We also keep one row for each practice answer: the question number and its skill, whether you were right, how long you took, whether you marked yourself sure or unsure, the choice you picked, the reason you tagged a wrong answer with if you chose one, and where you answered it (a practice set, a test and so on).
We may read the answer rows of all students together, to find questions that are unclear or set at the wrong level. That work does not need your name or your email address.
Tutor reviews (paid plans)
If you ask a tutor to review your error log, we keep what you choose to send: your recurring mistakes, up to 20 example questions with the answer you gave, your test date, your minutes a day, your latest score and an optional question of up to 600 characters. A tutor reads it. The tutor’s reply is saved with it, and we email you to say it is ready.
Community
Posts, replies, likes and reports are saved with your account. Other people see a post under a generated name such as “Student 4F2A”, which stays the same from one post to the next, and never your email address. Anything you post can be read by other people who open the Community page, so write nothing you would not say in public.
When you delete a post or a reply, it disappears from the page at once. The text stays in our database until the account is deleted. When 3 students have reported a post, it is hidden.
Paying
Card payments go through Stripe, which takes your card details on its own page. We never see or keep a card number. We keep the plan, the amount, the currency, the dates and Stripe’s reference numbers for each payment. Until card payments are switched on, the checkout is a demonstration: no money moves and no card details are collected.
If you give a reason when you ask for a refund, we read it and it is written to our server log. It is not saved to your account.
We email you only in answer to something done with your address or on your account: a sign-in link, a password reset, a message about your plan or a payment, or a note that a tutor has replied. We send no newsletters and no promotions. Resend delivers the messages. We keep the recipient, the subject and the time of each one, not its text.
If you write to us, your message and our reply stay in our mailbox.
Cookies and browser storage
This site sets two cookies. Both are needed for it to work. Neither is used to follow you to other sites.
cr_session— Keeps you signed in. A random token. Only a one-way hash of it is kept on our side. It lasts 30 days from the last time you used the site.cr_anon— Counts the free practice questions served to a visitor who has no account. A random number with a signature, so that nobody can pick another visitor’s. It lasts 365 days.
Both are for this site only, are hidden from scripts on the page (HttpOnly, SameSite=Lax) and travel only over an encrypted connection (Secure).
We set no advertising, analytics or social-media cookies, and our pages load nothing from advertising or analytics companies. The security policy our server sends with every page lets it load scripts, fonts and images from this site only.
Two other companies may set cookies of their own. Our host, Vercel, may set a short-lived one if it needs to check that a visit comes from a person and not a robot. Desmos, the graphing calculator, may set its own if you open it inside a page; see Who else handles your data.
Browser storage
The site also keeps a few things in your browser’s own storage. These are not cookies. On a free account none of your study records leave the browser; on a paid plan they are copied to us, as described above.
- Your study records: plan, error log, test records and practice records.
- Your display settings: tint, color scheme, typeface, text size and spacing.
- The random device number, which is sent to us when you sign in.
- The optional passcode that locks a device, kept only as a derived key that cannot be turned back into the passcode, and never sent to us.
- A note of where to go after you sign in, which is dropped after 30 minutes.
Clearing the site data in your browser removes these from that device. On a paid plan the copy on our servers stays.
What we use it for
We use what we keep for these things:
- to run your account, including the limit of 2 devices;
- to count the free practice questions;
- to notice a login that seems to be shared between people;
- to keep your records in step between your devices, on a paid plan;
- to find questions that are unclear or set at the wrong level;
- to send the emails described above;
- to take payments and give refunds; and
- to answer you when you write to us.
We do not sell your data, rent it or use it for advertising, and we build no advertising profiles. We never ask for your location, camera or microphone, and the site tells your browser not to allow them.
Who else handles your data
These are the companies the site sends data to or loads something from. Each has its own privacy policy.
- Vercel hosts the site. The code that handles accounts runs in Mumbai, India; the public pages come from Vercel’s network around the world. Like any host, it sees the address and browser of each visit and keeps server logs. Vercel’s privacy notice.
- Supabase keeps our database, in Mumbai, India. Our records of accounts, answers and payments are there. Supabase’s privacy policy.
- Resend delivers our email. It sees the recipient’s address and the message. Resend’s privacy policy.
- Stripe takes card payments, once they are switched on. It sees your card details and the payment; we do not. Stripe’s privacy policy.
- Desmos provides the graphing calculator, but only when you press “Open Desmos here”. Your browser then loads desmos.com, which sees your network address and the web address of the page you are on. Desmos’s privacy policy.
While you use Cali Review your browser talks to no other site, except when you click a link to one or open the Desmos calculator.
Where your data is kept
Our database is in Mumbai, India, and the code that handles accounts runs there too. If you study from the United States or anywhere else, your data is processed in India.
How long we keep it
- Your account, saved records, practice answers, posts, tutor reviews, plan and payment records, and the record of the emails we sent you: until your account is deleted.
- Sign-in records (time, device and network prefix): 30 days. We delete a student’s older records each time that student signs in, so a record can stay longer if you stop coming back. Ask and we remove it.
- A login: 30 days from the last time you used it. A sign-in link: 15 minutes. A password-reset link: 30 minutes.
- The record of free questions served to a visitor: no end date. It holds a random number, question numbers and times, and no name or email address.
- Server logs kept by our host: on Vercel’s own schedule.
- Email you send us: until you ask us to delete it.
Your choices, and how to delete your account
In your account, the Sign-in & security page shows your devices and recent sign-ins, signs you out everywhere and removes your password.
To get a copy of what we keep, to correct something or to delete your account, email hello@calireview.com from the address on the account. We reply to confirm that it is you, and we delete the account within 30 days of that confirmation. There is no delete button yet, so this is done by hand.
Deleting an account removes everything tied to it: your devices, sign-ins, saved records and answers, tutor reviews, posts, replies, likes and reports, and your plan and payment records. It also removes the mail we hold from you. Stripe keeps its own record of any card payment under its own policy, and Resend and Vercel keep logs on their own schedules. A deleted account cannot be brought back.
If someone typed your address by mistake, an account was made for it when the link was requested. Ignore the email, or ask us to remove the account.
Children
Cali Review is for students 13 and older. We do not ask your age, and we do not knowingly keep data from anyone under 13. If we learn that we do, we delete it. A parent or guardian who thinks a child under 13 has an account can write to hello@calireview.com to see or delete what we hold.
Changes to this page
The date at the top says when this page last changed. When we change what we keep or who handles it, we change this page and its date, and we say so at the top of the page.
Something here unclear?
Write to us and we will answer in plain words. The terms of service are the other half of this page.