What we store, and what we do not.
MockPrep records interviews so you can read them back — which means it holds your code, your diagrams and who you practised with. This page says exactly what that is, who can reach it, and what happens when you delete it. It describes the product as it is built today, not as it is planned.
Last updated 26 September 2026
Everything stored about you.
- Waitlist
- If you joined the waitlist and have no account yet, this is the only thing held: your email address, stored by Clerk until you are invited in or ask to be removed. Nothing below exists for you until you accept an invitation.
- Account
- Your email address, name and avatar image, mirrored from Clerk the first time you sign in and kept in sync afterwards. Your account id here is your Clerk user id — we do not generate a second one.
- Sessions
- One record per interview: the room id, an optional title, whether it was a coding or system design round, the language, which problem or design prompt was attached, when it started and ended, and which two accounts were in it.
- Code you run
- Every execution is recorded against the session: the code you submitted, the input you gave it, its output, its error output, its exit code and how long it took. Stored verbatim.
- Notes
- Notes written during a session, stored against that session and the account that wrote them.
- Room contents
- The editor buffer and every element on the design board, held as a snapshot by the realtime server. This is what lets both people see the same room and what makes a room survive a reload.
Three, and none of them follow you.
MockPrep sets no advertising cookies, and nothing here identifies you on any other site. The one measurement it runs is Vercel Web Analytics, which counts page views without setting any cookie — see Processors below. That is the whole list:
- __session, __client_uatClerkEssential · Session
- Keeps you signed in and tells the server which account is making a request. Without these you cannot have an account at all.
- sidebar_stateMockPrepPreference · 7 days
- Whether you collapsed the dashboard sidebar. Written only when you click the control, and read so the sidebar comes back the way you left it.
- tzMockPrepFunctional · 1 year
- Your browser's time zone, so the streak and activity strip count days where you are rather than where the server is. It is a zone name, not a location.
Only the two people who were there.
A session is visible to its interviewer and its interviewee, and to nobody else. Every session page checks that you were one of the two before it renders anything — being signed in is not enough, and a room id is not a key. The realtime connection is authenticated separately with a signed token that names the room, the account and the seat, so a room link that leaks does not hand over the room.
Anything the interviewer is meant to hold alone — the follow-up questions and the scoring rubric on a design prompt — is withheld by the server, not hidden in the browser. The candidate’s copy of the page never contains it.
What outlives the interview.
- Rooms you abandon
- A room and its snapshot are erased 30 days after the last time anyone connected to it. The clock is measured from last use, so a room you keep coming back to is never a candidate.
- Deleting a session
- The room is purged first, then the record. The editor buffer and the board go with it, not just the row that pointed at them.
- Deleting your account
- Your executions and your notes are deleted outright, including from sessions someone else was also in. Sessions themselves survive with both participants detached, because an interview had two people in it and erasing yours would destroy the other person's record of a session they sat in. The rooms of every session you took part in are purged — not only the ones you created.
Who else touches it.
MockPrep runs on infrastructure it does not own. These are the services involved and what each one sees:
- Clerk
- Authentication and account management. Holds your sign-in identity — email, name, and whichever password or social login you chose.
- Neon
- The PostgreSQL database behind everything in the first table on this page.
- Cloudflare
- Runs the realtime server that syncs the room and stores its snapshot — your editor buffer and your board.
- Railway
- Hosts our own code-execution instance. Code you run is sent there and the result comes back; it is not a shared public runtime.
- Upstash
- Rate limiting. Briefly holds your account id, or an IP address for webhooks, as a counter key so no one endpoint can be hammered.
- Vercel
- Hosts and serves the application, with the ordinary request logs any web host keeps. Also counts visits through Vercel Web Analytics: the page you viewed, the page that referred you, your country, and your device, browser and operating system. It sets no cookies and keeps no identifier for you beyond a short-lived hash of the request that is discarded within a day, so it cannot follow you from one day to the next or onto another site.
We do not sell your data, and we do not share it with anyone for advertising or marketing.
Getting it back, or getting rid.
You can delete a session from the dashboard at any time, which erases its room with it. You can delete your account from your profile, which does everything described under Retention above and cannot be undone.
For a copy of what is held about you, or for anything the product does not let you do yourself, write to privacy@mockprep.example.
When this page moves.
This page is updated whenever what the product stores changes, and the date at the top moves with it. It is kept in the same repository as the code it describes, on the same rule the rest of the site follows: it states what is built, and nothing that is not.