Privacy policy

Last updated 23 October 2026

Pressentify is two things behind one domain: a public, account-free collection of programming cheatsheets, and a private job-hunt workspace at /jobs that a signed-in user opens for themselves. The public site keeps only the anonymous usage counts described in its first section. Everything below that section is about the workspace.

1. The public cheatsheet site

Browsing the cheatsheets and diagrams requires no account, no email and no sign-up. There is no third-party analytics script and no other third-party embed that profiles you, apart from the ads described below.

The site counts its own usage, on its own server: which pages are opened, which site linked to it, the campaign tags on that link (utm_…), the kind of device (phone, tablet or computer), and a few actions such as copying a code sample or picking a search result. These records carry a random ID kept in your browser's local storage, not your name, and are linked to your account only when you are signed in. No IP address is stored with them. If your browser sends Do Not Track or Global Privacy Control, nothing is counted. The records are deleted automatically after a fixed period (180 days unless we shorten it).

When you first arrive from another site or a tagged link, a small first-party cookie, cs_attr, remembers where you came from for 30 days. If you create an account in that time, that source is saved with the account so we can tell which posts bring people in.

The usage records above also carry the two-letter country code the host works out from your connection (never a city, and never the IP address), and page-speed timings from your browser (how fast a page drew and responded). If you sign in, the sign-in attempt is logged with its time, method, IP address and browser type, for 90 days, to spot misuse. Creating an account with a password records the time you agreed to these Terms and this policy.

The job lists open on cities near you. If you are signed in, they use the cities on your job profile; if not, or if your profile has none, they use the approximate city the host works out from your connection. That city is used only to choose the first list you see; it is not stored or logged. On the public job list, a city you pick is remembered in your own browser (not sent to us) so the list opens there next time; “Show every city” or Clear makes it open on every city instead.

If you put your email address in the newsletter box in the footer, it is stored only to send that list; nothing is sent until you press the confirmation link, and every email carries an unsubscribe link. If you arrived from a link we shared on a social network (its address carries a source tag), the source is kept with the address so we can see which posts bring readers; nothing else about the visit is added. If you answer a short in-site survey, your answer is kept with your account so we can count it once.

Messages sent through the form on the contact page are stored with the name and email address you give, so they can be answered; replies are sent by email.

The blog (/blog) lets signed-in readers comment on articles and mark them helpful or not. A comment is stored with the text you write, your account name and email address, the time, and the article it belongs to; it is held until it has been read and approved, and only your name and the text are shown. If the author replies, you may get one email about it. You can edit or delete your own comment from the page, or ask us to remove it, and deleting your account removes your comments. A thumbs-up or thumbs-down is stored against a random ID in your browser, or your account if you are signed in, so one person counts once. Comments are checked for links and banned words, and a person who abuses the form can be blocked by email address.

Pages do carry Google AdSense ads. Google and its advertising partners may set cookies or use device identifiers on this site to serve and measure ads, including personalized ones based on your browsing elsewhere. You can see or turn off ad personalization at Google's Ads Settings, and read how Google uses this data at How Google uses information from sites that use our services.

Your reading preferences — theme, text scale — are kept in your own browser's local storage. They never leave your device and we cannot read them.

Our hosting provider keeps ordinary web server logs (IP address, user agent, requested URL, timestamp) for a short period, as any web server does, to serve traffic and stop abuse.

2. Job-hunt accounts

When you create an account for the job-hunt workspace we store:

  • your email address, used to identify the account and to send job alerts;
  • a display name;
  • a password hash (scrypt, with a per-account salt). We never store the password itself and cannot recover it;
  • your search settings, saved searches, job triage decisions, and the notes you write on a posting.

Signing in sets one cookie, jobs.user, holding a signed session token — not your password. Removing it (or signing out) ends the session.

3. Résumé uploads and your job profile

You may upload a résumé so the workspace can match postings against your background and write drafts from it. The uploaded file itself is parsed in the same request and then discarded — we do not keep the file, and we do not keep the raw text.

What we do keep is the structured résumé read out of it, which is the whole résumé: your professional summary, every role with its employer, dates, location and bullet points, your projects, education, certifications, skills, and — if your résumé carries them — your name, email address, phone number and links. This is stored against your account so that a tailored résumé or cover letter is written from your actual history rather than from a handful of keywords.

You are shown everything that was read before any of it is saved, and nothing is stored until you press Save. Every field stays editable and deletable from the account page afterwards, and deleting your account deletes all of it.

4. Google account and Drive access

If your browser is already signed in to a Google account, a small “Continue as …” sign-in prompt from Google may appear a few seconds after you open a public page (once per browser session, and never on the sign-in, legal or contact pages). Loading it contacts Google, which handles that request under its own policy. Nothing is sent to us unless you tap to continue; then Google sends us a signed token with your Google account ID, email address and name, which we check on our server to sign you in, or to create your account if you do not have one. Dismissing the prompt sends us nothing.

Connecting Google is optional. The workspace only asks for connection when you press “Connect Google Drive”, and it requests three scopes and no others:

  • openid and email — to know which Google account is connected;
  • drive.file — access limited to files this app itself creates in your Drive.

Pressentify cannot see, list, open, modify or delete any other file in your Google Drive. The drive.file scope grants access only to documents the app created — the tailored résumé and cover-letter drafts you ask it to save. Existing documents in your Drive are invisible to it.

We store the connected Google account's email address, an access token, and a refresh token. The refresh token is encrypted at rest (AES-256-GCM). Tokens are used only to create and update the drafts you generate.

Disconnecting Google from the account page revokes the token with Google and deletes the stored credentials. You can also revoke access at any time from your Google account permissions page. Documents already created stay in your Drive and are yours; revoking access simply stops this app from touching them again.

Pressentify's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Google user data is never sold, never used for advertising, and never used to train machine-learning models.

5. Who else processes this data

  • MongoDB Atlas — the database where accounts, job postings and profile summaries are stored.
  • Vercel — application hosting and server logs.
  • NVIDIA NIM — the AI models that read a résumé to extract its structured summary, rank postings, and draft a pitch for a specific job. Résumé text and profile facts are sent to this API at the moment you run one of those actions. Job postings themselves come from public sources.
  • OpenRouter — a second AI model provider, used together with NVIDIA NIM for the same purposes, including marking your answers in AI Interview practice (section 9). It receives only the text of the request.
  • Your browser’s speech service — only if you dictate an answer in AI Interview practice: Chrome and Edge send your voice to Google, Safari to Apple, to turn it into text. We never receive the audio.
  • Google — OAuth and Drive, only if you connect an account (section 4).
  • Gmail (SMTP) — used to deliver job-alert emails to the address on your account.
  • Razorpay — takes payments for handbooks, roadmaps and 1:1 sessions; receives your name, email and mobile number with the order. We never see card or bank details.
  • Cloudflare R2 (stored in the Asia-Pacific region) — private file storage for handbook files and PDFs, files you upload in the job-hunt workspace, files staff upload (including images for our own social-media posts), archived job postings, and encrypted database backups. All of it is private — a file is reached only through a link that expires, within minutes for your files and within two days for the images a social-media platform fetches when we post — except the images and free samples we publish on the site itself, which are served openly from files.pressentify.com. Nothing personal or paid is ever put there.
  • Cloudflare — the DNS for our domain, which tells your browser where the site is, and delivery of the public files at files.pressentify.com. Like any DNS or delivery service it sees the address of a device that looks the domain up or loads such a file; it does not receive your account data.
  • Google Calendar and Google Meet — only if you book a 1:1 session: the calendar invite and the Meet call (section 10).

We do not sell personal data, share it with advertisers, or use it to build profiles for anyone other than you.

6. Retention and deletion

Account data is kept until you delete it. You can clear your job profile, disconnect Google, and delete saved searches from the account page. To delete your account and everything attached to it, email pressentify@gmail.com from the address on the account; we will remove it and confirm.

Public job postings collected from company career pages and job boards are not personal data about you. A posting no source has listed for 30 days is moved to an archive and deleted after 12 months, except ones you saved or applied to, which stay with your account.

When you download a handbook PDF (or another file you bought, such as an interview pack) we record the time and the version with your order, for support and refunds; it is kept with the order record.

Files you upload in the job-hunt workspace (résumés, cover letters, exports) are stored privately, up to 50 MB per account. They are included when you download your data and deleted when you delete them or your account. Staff can see that a file exists but cannot open it; the site owner can open one only to resolve a support request, and every opening is logged.

We keep encrypted backups of the database for up to 12 months (nightly copies for 30 days, one a month for a year). Data you delete leaves the live service at once and leaves the backups as they expire.

7. Your rights

You can ask for a copy of the data held about you, ask for it to be corrected, or ask for it to be erased, by emailing pressentify@gmail.com. If you are in the EU/UK, these are your GDPR rights of access, rectification and erasure; the lawful basis for processing is the performance of the service you asked for, and consent for the optional Google connection.

If you are in India, these are also your rights under the Digital Personal Data Protection Act, 2023: to a summary of your data and who it is shared with, to have it corrected, completed or erased, to withdraw consent, and to nominate someone to act for you. We answer every request within 30 days.

Grievance contact. Questions or complaints about how your data is handled go to the Pressentify grievance officer, at pressentify@gmail.com. We will acknowledge it and respond within 30 days. If you are not satisfied with the answer, you can complain to the Data Protection Board of India.

8. Security

Passwords are hashed with scrypt. Google refresh tokens are encrypted at rest. Session cookies are signed, HTTP-only and scoped to this site. All traffic is served over HTTPS. To spot and stop break-in attempts, each sign-in attempt is logged with the email address used, the IP address and the kind of browser, and kept for 90 days; repeated wrong passwords lock password sign-in for that address for a short while. No system is perfectly secure, and we do not claim otherwise — please do not store anything in the workspace you could not afford to have exposed.

9. AI Interview practice

What we store. When you practise, we store your sessions: the questions asked, the answers you typed or dictated (as text), your marks and feedback, counts such as how many seconds and words you spoke (never audio), your settings and your daily usage counts. If you use them, we also store your saved stories, interviews you log, questions you share, report links you create and your leaderboard choice. We do not store audio or video.

Who processes it. Your answers are sent to our AI model providers (NVIDIA NIM and OpenRouter, section 5) to be marked and to write the interviewer’s lines. If you tick the option, your saved stories and a job description go too. Code you submit for feedback, and what it printed, go as plain data. Python practice downloads its runtime (about 10 MB) from the jsDelivr content network, which can see your IP address like any site you visit.

Camera and microphone (video interview). The video interview works like a proctored interview: it needs your camera and microphone, and they stay on from the moment you join until it ends. They are used only after you accept a notice and press a button. If you do not accept, you cannot take the video interview; written and audio practice work without a camera. If your device has no camera, blocks it or cannot run the tracking, you can still take the interview with audio or typing, and it is then not tracked or recorded. (The video stage of a timed assessment stays optional.) Pictures and sound stay on your device.

Tracking in the video interview. While it runs, your browser (not our servers) analyses your camera picture with two small models we host, to estimate what a proctored interview platform watches: how much you faced the camera and looked away, whether your face was in view, whether another person appeared, how steady your head was, your posture and upper-body movement, framing and light, and your facial expressions (calm, smiling, tense, surprised). Expressions are estimated from how your face moves: they show what your face did, not how you felt, and they can be wrong. Your browser also notes when you leave the interview tab or window, when you paste text, and how long you take to start each answer. The picture and the points found on it are not saved or sent. For each question, small estimate numbers and a short list of moments (for example “looked away for 4 seconds”) are saved in your account, shown only to you on that interview’s debrief, included when you download your data and deleted when you delete it. To check how accurate and fair the estimates are, we also look at anonymous totals across many people, never one person’s numbers, never with a name, and only for groups of at least five people. We do not identify you from your face or body, and the estimates never affect your marks, readiness, dashboard, shared or printed reports, or the leaderboard. You can withdraw in Settings at any time; the video interview then asks again before it starts.

Recording of the video interview. The whole video interview is recorded and saved in your browser, on your device only; we never receive, see or store it. After the interview you choose to save it (it then stays in your browser until you delete it, and you can download a copy) or to delete it; if you leave without choosing, it is deleted within 24 hours. It is not encrypted, so on a shared computer delete it. The video facts we store are the dates you accepted the notice, a note that an interview was run as a video interview and, if it could not be tracked, one word saying why. Video never changes your marks.

Timed assessments (Interview Loop). The multiple-choice and coding questions in an assessment are written by an AI model and checked by other AI models, through our AI model providers (NVIDIA NIM and OpenRouter, section 5), before anyone sees them, then saved for everyone to reuse. A saved question holds no personal data; it only remembers how many different people took it or reported it (and, as plain counts, the reasons given: wrong, unclear or inappropriate), and those counts keep no name once you delete your data. The answers you give in an assessment (your picks, your code and its test results, and the written answers you give to an interviewer’s follow-up, behavioural or conversation question) are stored in your account as part of the session. Written answers, and your code only in the follow-up questions about it, are sent to our AI provider as plain data to be marked and to write the interviewer’s lines; the multiple-choice and test marks involve no AI at all. If you use audio mode, the words you dictate go with the answer and the seconds you speak count towards your daily voice minutes (never the audio itself). Your code runs only in your browser.

What your browser noticed during an assessment. While a section runs, your browser counts how often you left the window and for how long, how many times you pasted (and the length, never the text) or copied, and long quiet gaps. These counts are shown only to you: in your own report, and also as a running tally while you work if you are in strict mode or have switched on “Live counts” in Settings. They are included when you download your data and removed when you delete it. They never change a mark, your level, a score, a shared report, the leaderboard or anything another person or staff member sees as yours.

Scores, readiness and comparison. A new question is practice only until enough different people have taken it; once it is checked by real use, your hint-free answers to it count towards your readiness and dashboard like any other answer (never towards the leaderboard). To show where your score sits, we compare it with the latest score of other people on the same topic and format, only once at least 30 others have one, and we show you a band, never a rank, a list or anyone’s score. A report link you create from an assessment shows your band, section scores and each question’s mark, and your answers and code only if you tick the box. It never includes hints, nudges or the counts your browser reported.

Run replay and growth estimates. For each coding question we keep when you pressed Run and how many of the visible tests passed (numbers only, never the output) so your report can replay your steps. The “time my code on bigger inputs” button runs your code in your browser and stores nothing. A “retake the missed” test, and the reminders you may switch on for it, are kept in your account and removed when you delete your data.

Keeping and deleting. You choose how long we keep your answers (forever, 90 days or 30 days) in Interview → Settings, where you can also download or delete all of it yourself. A staff action log about disputed grades (never your answer text) is kept for a year. The basis for this processing is the service you asked for, and your consent for the camera, microphone and speech service, which you can withdraw at any time.

10. 1:1 sessions

If you book a live 1:1 session (for example a mock interview with a real interviewer), we keep: the booking (time, length, status and any moves or cancellations), the time zone your browser reported, and the answers you give before the session — the role you are preparing for, the kind of interview, and, only if you fill them in, your years of experience, target company, a link to your résumé and what you want to focus on. Only you and the host (and staff who run bookings) can see them. We also keep what the payment bought: how many sessions and the date to use them by.

The session is held on Google Meet. When you book, the host's Google Calendar creates an event with your email address as a guest, so Google emails you the invite, any change and any cancellation, and you will see the host's Google address as the organiser. Your answers are not put in the calendar event. Google processes the invite and the call under its own privacy policy. We do not record sessions.

We email you a receipt, reminders before the session (by default 24 hours and 1 hour before) and a note when a session is moved or cancelled. Bookings are kept with the order record, which we need for accounts; you can ask us to clear your answers at any time by writing to pressentify@gmail.com.

11. Changes and contact

If this policy changes materially, the “last updated” date above changes with it and account holders are notified by email. Questions about this policy go to pressentify@gmail.com.