Free practice stays local; paid practice is saved to your account
When you work through a free practice form, your answers are held in your browser’s local storage on that device. They are not uploaded, and if you have no account there is nothing to attach them to anyway. Clearing your browser storage deletes them, and using a different device starts fresh — that is a limitation of the design rather than a gap in it.
The paid sets and targeted drills are different, on purpose. When you answer one of those questions while signed in, the answer is stored against the opaque identifier for your account: which question, which exam domain, what you picked, and whether it was right. That is what lets your progress be shown back to you on any device, and what lets buyers see how often everyone misses a given question. Those shared figures are counts across all buyers and never identify anyone. No question text is stored with your answers, and you can ask on the contact page to have them deleted.
The readiness check
Submitting a readiness check does send something to the server, because the point of it is a percentile against other people. What is stored is the exam, the version of the quiz, the month, the score, how many questions were answered, which items were missed, and a random one-time value used to stop a single attempt being counted twice. No name, no email address and no account identifier is stored with it, and the row cannot be traced back to a person.
A per-address daily limit stops one person filling the cohort. It works on a keyed hash of the address rather than the address itself, and those entries are purged once their month closes.
Score emails
If you ask for your score by email, the address is used to send it and is passed to Resend, which delivers the mail and keeps the address on a list so a short prep series can follow. That is the whole purpose and the form says so at the point of asking. Every message carries an unsubscribe link. The site itself keeps no copy of your address.
Developer – Professional launch list
If you ask to hear when the Developer – Professional practice sets go live, your address is passed to Resend and kept on a separate list for exactly that: one email at launch, nothing else. It is not added to the score emails, and the launch email carries an unsubscribe link.
Accounts, if you buy
Everything free on this site works without an account. Buying full access creates one, because access has to belong to somebody and survive you closing the tab. Sign-in is handled by Clerk, which holds your email address and, if you sign in with Google, the identifier Google gives it. What this site stores is an opaque identifier for you and the fact that you have full access — not your email address, and never a password.
Payment
Purchases are handled by our payment reseller, who is the merchant of record and takes your payment and billing details directly. Card numbers never reach this site and we could not store them if we wanted to. What comes back to us is that a payment succeeded, an identifier for it so a later refund can be matched to it, and the country used to work out tax.
Practice through Claude or ChatGPT
The practice server described on the developers pageanswers anonymously by default, and an anonymous session is recorded nowhere — the free questions work exactly as they do here, and nothing about who asked is kept.
If you connect it to an account, that changes on purpose. Each answer is stored against the opaque identifier for your account: which question, which exam domain, what you picked, and whether it was right. That is the whole point — it is what lets an assistant tell you that you are weak on one part of the blueprint instead of quizzing you at random. No question text and no conversation is stored, only the outcome.
Ask on the contact page to have that history deleted, and it goes without affecting anything you have bought.
Analytics
Page views and interactions are recorded with PostHog to see which pages are useful and where people give up. It runs with in-memory persistence, which means it sets no cookies and does not follow you across visits or across sites. Session recordings are captured on the public site to diagnose broken flows.
Within one visit, a link you click to another page here carries a random visit tag, so the pages of that visit can be counted together. It is removed from the address bar as the page opens and stored nowhere on your device, and your next visit gets a new one.
Analytics runs only on aicertificates.study. Nothing is sold, and nothing is shared with advertisers, because there are none.
Processors
- Vercel — hosting and content delivery.
- Neon — the database holding readiness check rows.
- PostHog — product analytics and session recording.
- Resend — sending score emails and the one Developer – Professional launch email, where you asked for them.
- Clerk — sign-in, for accounts created by a purchase.
- Stripe — payment, tax, and receipts, as merchant of record (its checkout page is branded Link).
Your choices
To remove an email address, use the unsubscribe link in any message or write to the address on the contact page. A readiness check row carries nothing that identifies you, so there is nothing in it to look up or delete on request — if you would rather not submit one at all, the practice forms work perfectly well without ever sending anything.
If you have an account, write to the same address to get a copy of what is held or to have it deleted. Deleting an account ends any access bought with it, and we keep the record of the payment itself for as long as tax and accounting rules require — that part is not ours to delete.
This page changes when the site does. Material changes will be described here rather than quietly applied.