What the AI does
Kandidatos uses AI for three narrow jobs, and nothing else.
| Job | What happens |
|---|---|
| Reading a CV | Optical character recognition turns a PDF, a scan or a Word file into plain text. |
| Extracting the facts | A language model reads that text and fills a fixed set of fields — name, roles, dates, education, languages, skills — so the same structure comes out of every CV regardless of how it was laid out. |
| Scoring against a role | For ProfileScore only: a model compares the extracted facts with the vacancy you submitted and produces a score per dimension, with the evidence it used. |
ProfileSync uses the first two. It does not score, rank or judge anything — it rebuilds the document. See What ProfileSync does to a CV.
What it never does
No hiring decision is made, ever.
Nothing is auto-rejected. No candidate is filtered out before you see them. Every candidate you submit appears in the output, including the ones that scored badly. A recommendation of “needs review” is a flag for a person to look closer, not an exclusion.
The system produces documents and rankings. People decide. That boundary is deliberate, and it is the reason the output always shows its reasoning rather than only its conclusion — a score you cannot interrogate is a decision in disguise.
The blank-field rule
The instruction that governs every extraction is this:
Every value returned must be traceable to specific text in the source document. An empty field is a correct and useful answer. A plausible invented value is worse than a blank, because the reader cannot tell the two apart.
This matters more than it sounds. A model asked to fill a form will fill it. Left unchecked it will produce a confident-looking job title for a CV that never stated one, and you have no way to know which fields were read and which were imagined. So where a CV doesn't say something, we leave it empty — and an empty field on a Kandidatos document means the source was silent, not that the system failed.
What we read, and what we don't
We extract the professional content of a CV: name, job titles, employers, dates, responsibilities, education, training and certifications, languages with the level as the CV stated it, skills and industries.
We do not extract contact details. Phone numbers, email addresses and postal addresses are not among the fields the model fills, so they do not reach a generated document, a score, or our database as structured data. Your own copy of the original CV is unaffected — this is about what the system reads out and keeps.
Nothing about a candidate's photograph is interpreted. Where a CV carries a photo, it is not analysed and no attribute is derived from it.
What ProfileSync does to a CV
ProfileSync takes the facts extracted from a CV and places them in the template you approved. It changes how the candidate is presented, not what the candidate is.
- Every role stays in. Each position the CV states is carried across, with no limit on how many. A career that comes out shorter than it went in is a defect, not a design choice.
- Nothing is added. The blank-field rule applies in full. Where the CV is silent, the field stays empty — no job title, skill or qualification is supplied to make the document look complete.
- The name comes from the document. The candidate's name is read from inside the CV, not from the filename.
- Arithmetic is done as arithmetic. Figures such as years of experience are calculated from the dates the CV states, not estimated by the model.
- The language can change. Each template has an output language. A CV that arrives in another language comes out in the template's language.
- The style is neutral. Content is written into the template's structure and tone, so every candidate is presented the same way.
The original CV is kept alongside the generated document for the retention period you set, so the two can always be compared.
How scoring works
ProfileScore compares a candidate against the vacancy you submitted and the company it is for — not against the other applicants, and not against a population benchmark. Two candidates for two different roles are never in competition inside the system.
Before any candidate is scored, the vacancy is turned into a benchmark: the ideal profile — experience, seniority, sector, languages and certifications — the positive signals that earn points, and the must-haves whose absence costs them.
Each candidate is then scored on five dimensions: seniority, skills, company, sector and language. You decide how much each one counts. The five weights total 100, our defaults apply if you leave them alone, and they are printed beside the result so anyone reading it can check the arithmetic.
A missing must-have is a mismatch penalty. Each one is named on the candidate's card together with what it cost, and together they are capped at ten points — a cap the weights do not change. The total is the weighted score minus those penalties, and every line on the card adds up to it.
Each candidate also gets a recommendation — ready for interview, needs review, or doubtful — to help decide who to read first. It is a flag, not a verdict. The breakdown is the part worth reading. The number is a summary of it.
Known limits
We would rather you knew these than discovered them.
- Scores are indicative, not measurements. Language models are not deterministic. The same CV scored twice can produce slightly different numbers. Treat a score as a sorting aid with a margin around it, not a precise quantity — and never as the difference between two adjacent candidates.
- A score is only as good as the vacancy text. A thin job description produces thin scoring, because there is less for the model to compare against.
- A CV is a claim, not a verified record. We read what the document says. We do not check whether it is true. Verification is interview work.
- A standardised CV should be read before it is sent. Extraction can misread a date, merge two roles or miss a detail, and a clean layout makes such errors harder to spot. Check the generated document against the original before it goes to a hiring manager.
- Standardising removes informal signals. Company size, short tenures, a portfolio link or a hackathon result can carry real information, and a uniform template tends to lose it. This is why ProfileScore reads the candidate's original CV, not the standardised one.
- Unusual career shapes score conservatively. Career breaks, portfolio careers and non-linear paths are common and legitimate, and a system that pattern-matches against conventional CVs will tend to under-rate them. This is a reason to read the evidence rather than sort by the number.
What we never infer
Some things are recorded only when a CV states them outright, and are never guessed from anything else.
Nationality is recorded only where the CV says it. It is never inferred from a candidate's name, birthplace, where they studied, where they have worked, or the language the CV is written in. For most CVs the field is empty, and that is the correct result.
We do not derive, estimate or store age, gender, ethnicity, religion, health, disability, family situation or any other protected characteristic — not as a field, not as an input to a score, and not as a hidden factor. Where a CV happens to mention such a thing, it is not extracted into the structured record.
Models and where they run
Kandidatos runs on Microsoft Power Platform. Text recognition and the language-model calls run through Microsoft's AI services within that platform, under Microsoft's enterprise terms.
Candidate data is stored within the European Union. See our privacy policy for where data is held and how it is protected.
Your controls
- You set retention. Source CVs and generated documents are deleted after 30, 60, 90 or 180 days — your choice, per account — and the deletion is recorded against the record.
- You set the weights. Five dimensions, five weights totalling 100 — set once, or changed for the next role.
- You set the template. What appears on a generated document is determined by the template you approve during onboarding.
- You can see the reasoning. Every score ships with its criteria breakdown. If a result looks wrong, the evidence that produced it is on the same page.
- You stay the controller. We process candidate data only on your instruction, under a signed data processing agreement. See our privacy policy.
Questions
If something in the output looks wrong, or you want to understand how a particular result was reached, write to hello@kandidatos.com. We would rather investigate a suspicious score than have you quietly stop trusting the tool.