Privacy

Last updated: 12 October 2026

Who is responsible

The operator named in the Impressum is the controller for the processing described on this page, and is the person to contact about it — including to exercise any of the rights listed below.

What is stored, and where

CV Insight stores the email address you sign up with, together with your career items, the name and optional target role you give each resume you import, job postings you paste or upload, the resume text you paste or upload for a scan, the results of each scan, a search index built from your career items (a second, chunked copy of them, stored so they can be matched by meaning), generated resume versions, the notes and the status you set on each application — including whether you were interviewed or rejected — per-call AI usage metadata and, if you upgrade, a record of each subscription event (described under “Plans and payment” below), in a Supabase Postgres database hosted in the EU (Frankfurt). Rows are scoped to your account: the database refuses to return another account’s rows, and there is no administrator view.

The AI usage metadata is metadata only — which step ran, which model answered, how many tokens it used, what it cost, how long it took and whether it succeeded. Your resume and vacancy text are not written into it, and there is no column they could go in.

If you choose to save a display name in Settings, it is stored with your account and used for two things only: the name line of the resumes you generate, and the file name when you download one. It is optional — the app works without it, and a resume then asks you to fill the name in yourself. You can change or remove it in Settings at any time, and it is deleted along with everything else when you delete your account.

The same applies to the contact details you may save in Settings — a contact email address, a phone number, a location, a LinkedIn address, a GitHub address and whether you are open to remote work. They are stored with your account and used for the header block at the top of the resumes you generate and download, so an employer can reply to one. They are not sent to the AI provider: the header is added to your resume after it has been written and checked, and it is removed again before any text is sent for a quality check or a re-score. Writing a resume and judging it do not need a phone number, so it does not leave. Each of these fields is optional and the app works with all of them empty; you can change or remove any of them in Settings at any time, and they are deleted along with everything else when you delete your account.

That applies to the contact details you save in Settings. It cannot apply to text you supply yourself: if you import a resume PDF or paste resume text, that text is sent to the AI provider exactly as you gave it, including any name, address, phone number or email address printed inside it.

Why we process it, and on what basis

Your account, your career base, scans, resume generation, quality checks and export are processed to provide the service you asked for — the legal basis is performance of a contract with you (Art. 6(1)(b) GDPR). Authentication audit records are kept for the security of the service, on the basis of legitimate interests (Art. 6(1)(f)): keeping a short record of sign-in events is what makes it possible to notice an account being attacked, and it is limited to the events themselves rather than anything you wrote.

There is no processing here that relies on your consent, no advertising, no profiling for marketing, and nothing is sold. Apart from what Stripe’s own privacy policy describes for payments (see “Plans and payment” below), no data is shared with anyone for their own purposes.

Processing by AI providers, and outside the EU

Resume and vacancy text are personal data. They are sent to OpenRouter for processing so the app can parse the posting, score the match, generate a tailored resume and evaluate it. Your career items are part of this: generating and judging a resume draws on the items stored in your career base, and the relevant ones are sent with the request. The name you save in Settings travels with them, because a resume needs a name line on it. The contact details you may save do not travel with them at all — the section above says what happens to those instead.

OpenRouter is the routing service that receives these requests and passes each one to the company that runs the model it needs. It is established outside the EU/EEA, and so are those companies: your resume and vacancy text are transferred to the United States, to Anthropic, OpenAI and Google — Anthropic’s models read the job posting and run the quality check, OpenAI’s write the tailored resume and build the search index over your career items, and Google’s stand in when one of the others is unavailable. Which specific model version handles a request changes over time; the companies receiving the data are the three named here.

No account identifier goes with any of it. The request carries the text and nothing that says whose account it came from — not your email address, not your user id, not a session token, not a database row id.

What we cannot tell you yet. The AI provider account used by this deployment is not operated by us, so we cannot confirm to you how long that provider retains a request, or whether it is used to train models. Until we can, treat this deployment as a demonstration: please do not paste a real resume or any other real person’s details into it.

Plans and payment

CV Insight has a Free plan and a Pro plan. Upgrading goes through Stripe, which runs in test mode on this deployment — no real card is charged. When you upgrade, Stripe receives your email address and an internal account identifier, so that the payment can be matched to your account, and nothing else from this app; card and billing details are entered on Stripe’s own pages and never reach CV Insight. We store a record of each subscription event Stripe sends us (the event type and when it arrived, your plan status, period and whether it is set to cancel, and Stripe’s customer and subscription identifiers), and that record is deleted with your account. The Stripe customer record itself is not deleted by this app; if you want it removed, contact the operator named in the Impressum and it will be deleted in Stripe for you.

Managing your plan is part of providing the service you asked for, so the legal basis is the same: performance of a contract with you (Art. 6(1)(b) GDPR).

Who else processes this data

Four service providers process data for this app. Supabase provides the database and the sign-in system, in the EU (Frankfurt). Vercel hosts the application, and the application runs in the EU (Frankfurt) too, so your resume and vacancy text are processed there rather than being sent elsewhere first. Every request still reaches us across Vercel’s global network, which keeps short-lived infrastructure logs that include IP addresses and request metadata. OpenRouter and the three model companies named above receive the text described in the earlier section. Supabase, Vercel and OpenRouter do so on our behalf and on our instructions. Stripe manages subscriptions: if you upgrade, it receives your email address and internal account identifier from us and holds your plan status. The card and billing details you enter on Stripe’s own pages are collected by Stripe directly, and what Stripe does with data for its own purposes is described in Stripe’s own privacy policy. Stripe is a US company group, and this data is transferred to and processed in the United States.

Only your own data

Please submit only your own information. CV Insight does not detect or filter other people’s personal data, so a resume or a job posting you paste is processed exactly as you supply it — including any third party’s name or contact details left inside it. If you do not need them, remove them before pasting.

How long it is kept

What you create is kept until you remove it or delete your account — there is no separate expiry, and nothing is deleted behind your back. You can delete individual career items at any time. Job postings, scans, generated resume versions, the AI usage records and subscription event records are not individually deletable in this version; deleting your account removes them, and the next section says exactly what that does. Subscription event records are written by the payment system rather than by you and are kept, unaltered, until you delete your account — they are the record your plan is derived from. Authentication audit records are the one category on a fixed schedule, described there.

Right to erasure

Deleting your account removes your account and the data you created in the app. Separately, we keep authentication audit records (event type, your user id, email address and IP address) in our EU database for 90 days for security purposes; these are not removed when you delete your account, and are deleted automatically when they age out.

In this version, deleting your account is the only way to remove a job posting, a scan or a generated resume version — the app does not yet offer a delete button for those individually. If you want one of them removed without deleting your account, contact the operator and it will be done for you.

Your rights

You have the right to access the personal data we hold about you, to have inaccurate data corrected, to have data erased, to have processing restricted, to object to processing carried out on the basis of legitimate interests, and to receive the data you provided in a portable form. To exercise any of these, contact the operator named in the Impressum.

You also have the right to lodge a complaint with a data protection supervisory authority, in particular in the EU country where you live or work, or where you believe the problem occurred.

No decisions are made about you

The match score, the keyword gaps and the quality verdict are advice about your own document, shown only to you. No employer, recruiter or other third party sees them, and nothing here decides anything about you — what to do with the result is entirely yours.

Cookies

Only strictly necessary authentication cookies are set. There are no analytics, no trackers and no third-party cookies, so no consent banner is shown.

Impressum

The operator’s details are on the Impressum page.

Back to CV Insight