Privacy Policy
Effective 25 September 2026 · Version 1.1
The short version: we never ask for your child’s name, age, school, photo or location. The account is yours, identified only by your email address. What we store about your child is which practice topics were attempted and how many questions were right — nothing that identifies them. There are no analytics, no advertising, and no trackers on this site.
1. Who we are
This service (“Selective Ladder”, “we”, “us”) is operated by Akanksha Srivastava (ABN 56 135 039 755), in New South Wales, Australia. You can reach us at d.akanksha39@gmail.com.
This policy explains what personal information we collect, why, who else touches it, and what you can ask us to do with it. It is written to meet the Australian Privacy Principles in the Privacy Act 1988 (Cth).
2. What we collect
Everything in the list below is everything we hold. There is no other database.
| What | Why we have it |
|---|---|
| Your email address | It is your username, and the only way we can contact you about the account. |
| A Google account id, if you sign in with Google | Google gives us a stable identifier for your account and your email address, and nothing else. It is what lets you sign back in. We ask Google only for openid email — not your contacts, calendar, Drive, photos or anything else, and we cannot see them. |
| Your password, hashed | Stored only as a PBKDF2-SHA256 hash with a random per-account salt, 200,000 iterations. We cannot read your password and could not tell you what it is. |
| A session record | Keeps you signed in. We store only the SHA-256 of the session token, so a copy of our database would not let anyone take over a live session. |
| Practice results | Which topic, which school year, how many questions were right, how many seconds it took. This is what makes the Progress page and the review schedule work. |
| Review schedule | For each topic, which spaced-repetition box it is in and when it is next due. |
| Failed sign-in count | To lock an account temporarily after repeated wrong passwords, which is what stops someone guessing their way in. |
| Server request logs | Our host records the usual request metadata, including IP address, for security and fault-finding. We do not use it for anything else. |
What we deliberately do not collect
- Your child’s name, date of birth, age, gender or photograph
- Their school, class, teacher or any NESA or Department of Education record
- Your address, phone number, or precise location
- Contacts, calendar, microphone, camera or files
- Any analytics, advertising, profiling or cross-site tracking data
The one school-related field we store is the school year you select (Year 1, Year 2 and so on), because it decides which topics appear. It is not tied to a school.
3. Cookies
One cookie, named ktsid. It holds a random session token and nothing else. It is HttpOnly (JavaScript cannot read it), SameSite=Lax, Secure, and expires after 30 days or when you sign out.
If you sign in with Google, a second cookie named ktoauth exists for up to ten minutes while you are being sent to Google and back. It holds two random values used to check that the reply really came from the sign-in you started. It is deleted the moment you return, and holds nothing about you.
There are no advertising cookies, no analytics cookies, and no third-party cookies. Signing out deletes the session on our side as well as the cookie on yours.
4. Children
Accounts are for adults. When you create one you are confirming you are over 18 and that you are the parent or guardian of the child who will use it. A child is never asked to create an account, enter an email address, or give any identifying detail — they answer practice questions, and that is all.
Because we hold no identifying information about the child, the practice results in our database cannot be connected to a named individual by anyone who does not already know your account.
Australian privacy law for children’s online services is being tightened: the Privacy and Other Legislation Amendment Act 2024 requires the Information Commissioner to make a Children’s Online Privacy Code for services likely to be accessed by children. We will update this policy to meet that Code once it applies to us.
5. Why we collect it
- To run the service — serve questions, mark them, and remember where your child is up to.
- To schedule review — spaced repetition needs a history to work from.
- To keep the account secure — sessions, lockouts after failed sign-ins.
- To manage billing — when paid subscriptions are switched on.
We do not use your information to build a profile, to train models, or for any purpose you would not expect from the list above. We do not sell it, and we do not disclose it for anyone else’s marketing.
6. Who else handles it
| Who | What they do, and what they see |
|---|---|
| Cloudflare, Inc. | Hosts the site and the database. They process everything described in section 2. Their network sees the IP address of every request. |
| Google (Fonts) | The page loads two typefaces from fonts.googleapis.com and fonts.gstatic.com. That request reveals your IP address and browser to Google. It carries no cookie and no account information. We can remove this by hosting the fonts ourselves. |
| Google (Sign-in) | Only if you choose to use it. You sign in on Google's own pages — your password is never typed into this site and never reaches us. Google tells us your email address, a stable account id, and whether the address is verified. Google will know you signed in here. Your use of Google's sign-in is governed by Google's privacy policy, not this one. |
| Stripe, Inc. | Will process card payments when subscriptions are switched on. Card numbers go to Stripe directly and never reach our servers. Not in use today — no payment information is collected at all. |
Nobody else. We will also disclose information if a law, court order or regulator requires it.
7. Where your information is stored
Our database currently runs in Cloudflare’s Eastern North America region, so your account information is stored in the United States. Cloudflare’s network, Google’s font servers and Stripe may also process data in other countries.
This is an overseas disclosure under Australian Privacy Principle 8. By using the service you agree to it. We are looking at moving the database to Cloudflare’s Oceania region; if we do, we will say so here.
8. How long we keep it
Account and practice information is kept while the account exists, because the review schedule depends on the history. Sessions expire after 30 days. Drills abandoned part-way are cleaned up.
Ask us to delete your account and we delete the account row, which removes every session, drill, result and schedule row tied to it. That is a cascade in the database, not a manual sweep, so nothing is left behind. Server request logs kept by Cloudflare age out on their retention schedule and are not under our control.
9. How we protect it
- Every connection uses HTTPS.
- Passwords are never stored, only PBKDF2-SHA256 hashes at 200,000 iterations with a per-account random salt.
- Session tokens are stored only as SHA-256 hashes.
- The session cookie is HttpOnly, SameSite=Lax and Secure.
- Accounts lock temporarily after eight failed sign-ins.
- Google sign-in uses the authorisation code flow with PKCE, and we link a Google account to an existing one only when Google states the address is verified.
- Practice questions and their answers are generated and marked on the server, so answers are never sent to the browser ahead of time.
No system is perfectly secure. If a breach ever puts you at likely risk of serious harm, we will notify you and the Office of the Australian Information Commissioner, as the Notifiable Data Breaches scheme requires.
10. Your rights
- See what we hold. Ask, and we will send you everything associated with your account.
- Correct it. Tell us what is wrong and we will fix it.
- Delete it. Ask, and the account and everything attached to it goes.
- Complain. Write to us first at d.akanksha39@gmail.com. We will respond within 30 days. If you are not satisfied, you can complain to the Office of the Australian Information Commissioner at oaic.gov.au or on 1300 363 992.
We do not charge for any of these.
11. Changes
If we change this policy we will update the date at the top. If a change materially affects how we handle your information, we will email the address on your account before it takes effect.
12. Contact
Akanksha Srivastava
d.akanksha39@gmail.com
New South Wales, Australia