Privacy

Your CV is never uploaded. Here is exactly what that means, and what little does reach us.

The short version. Your CV is never sent anywhere. It is written to your own browser’s storage and stays on the device you typed it on. There are no cookies, no analytics, no advertising and no third-party scripts on any page of this site. The only information that reaches us is what you deliberately type into a form and press send on.

That is a strong claim, so the rest of this page says exactly what happens, in enough detail that you could check it against the source, which is public.

Your CV never leaves your browser

Building, rating, importing, converting and comparing a CV against a job advert all run as JavaScript in the page you are looking at. There is no endpoint on this site that receives a CV. When you import a PDF, a Word file or a LinkedIn export, that file is read in the browser and never uploaded. When you export, the file is generated in the browser and handed to your own download.

Your work is saved to localStorage so that closing the tab does not lose it. That storage belongs to your browser on your device. We cannot read it, and clearing your browser data deletes it.

What this site stores on your device

Five keys, all in localStorage, none of them cookies:

  • ihatejob.v1 — the CV you are working on.
  • cvmaker.v1 — the same thing under the site’s former name, read once so that a rename did not lose anyone’s work.
  • ihatejob.theme — whether you chose light or dark.
  • ihatejob.install-snoozed — when you last dismissed the “install this” prompt, so it stops asking.
  • ihatejob.vote.<slug> — which way you voted on a journey, so the page can show it back to you.

A service worker also caches the site’s own files so the builder works with no signal. It holds pages, styles, scripts, icons and the typeface. It never caches a CV.

What reaches us, and only when you send it

Three forms on this site send something to us: leaving a review, reporting a problem, and sharing a journey. Each sends only the text you typed into it. Specifically:

  • the words you wrote, and a title;
  • for a review, the rating you picked, and the name and role you chose to type — both optional, and blank means the review is filed as anonymous;
  • whether you ticked the box saying it may be published on the site;
  • a hidden field no human ever fills in, and the time the page loaded, which together stop most automated spam.

Nothing about your CV is attached to any of these. If you want us to see part of your CV in order to investigate a problem, you have to paste it in yourself.

These arrive as email. They are kept for as long as they are useful — a bug report until the bug is fixed, a review until it is published or declined.

Voting on a journey

Voting sends the identifier of the journey and the direction of your vote. Only the totals are stored, not who voted. Your IP address is read from the request in order to rate-limit voting; it is held in memory for a few minutes and is not written to the database.

Server logs

This site is hosted on Vercel, which keeps standard request logs including IP addresses and browser user-agent strings, as every web server does. We do not use those logs to build any profile of you, and we do not combine them with anything else.

What this site does not do

  • No cookies of any kind, first or third party.
  • No analytics, no tag manager, no pixels, no session recording, no heatmaps.
  • No advertising, no ad networks, no retargeting.
  • No third-party scripts or fonts loaded into any page. The typeface is served from this site’s own domain for exactly this reason.
  • No account, so no password to lose and no profile to build.
  • Nothing is sold, rented, or shared for anyone else’s marketing.

Who else handles data on our behalf

Four services, each doing one job:

  • Vercel — hosting and request logs.
  • Resend — delivers the email when you send a review, report or journey.
  • Upstash — stores vote totals.
  • GitHub — holds the source code, and the published journeys.

If you are in the EU, the UK, or India

Where the GDPR or the UK GDPR applies, our grounds for handling the little we handle are: your consent, when you fill in a form and press send; and our legitimate interest in keeping the site up and free of spam, for server logs and rate limiting.

You have the right to ask what we hold about you, to have it corrected or deleted, to object to it being handled, and to complain to your data protection authority. In practice the answer to the first question is usually “a message you sent us, if you sent one”, because your CV was never ours to hold.

India’s Digital Personal Data Protection Act 2023 and the Rules made under it give similar rights, including the right to ask what is held, to have it corrected or erased, and to nominate someone to exercise those rights for you.

To exercise any of these, use the report form on the home page, or write to the address below.

Children

This site is meant for people old enough to be applying for work. It is not directed at children, and it does not knowingly collect anything from them. Nothing here asks for an age, because nothing here needs one.

Grievance officer

As required by the Information Technology (Intermediary Guidelines and Digital Media Ethics Code) Rules, 2021:

  • Name: Subham Nagla
  • Contact: TO BE SET
  • How to complain: use the “Something broken” form on the home page, or write to the address above.

A complaint will be acknowledged within 24 hours and resolved within 15 days.

Changes

If this changes, the date below changes with it, and the change is visible in the public commit history of this site.

Last updated: 20 September 2026.