Editorial illustration of a CV being anonymized at the Quebec border before crossing to a cloud AI

A CV anonymizer that strips identity before any AI reads it

Raw resumes stop at a Montreal server. The cloud AI only ever sees the scrubbed skills and experience, and the candidate's privacy never leaves Canadian soil.

Under Quebec's Law 25, you can't just paste a candidate resume into a cloud chatbot. The raw document would cross a border and sit on a server in another jurisdiction. I built a tool that scrubs identity out of the resume on a Montreal server first, then hands only the skills-and-experience to a cloud summarizer on the other side. I built it as a proof of concept — no customers, no sales push, just a Law 25 story I can show instead of talk about.

The raw resume never crosses the border. Only a scrubbed version does.

Architecture diagram: raw resume enters a Montreal server, names and contact details get stripped, only the skills-and-experience payload crosses the border to a cloud summarizer

A resume is the worst document I've handed to a PII pipeline. It hits every edge case at once.

A resume paragraph before and after anonymization: accented surnames, employer names inside skills, postal codes, area codes, and Quebec credentials all handled correctly

Quebec credentials — CCQ, OIIQ, CPA, Sceau Rouge, Classe 1 — have to survive. A general-purpose tagger reads them as organizations and drops them.

A bilingual blind profile PDF — French and English side by side — with credentials preserved and personal details scrubbed

One scrubber, five category templates. The shape of the output depends on the kind of role.

Five category templates — IT, Finance, Production, Executive, General — each with its own output shape

The reusable part is the anonymization method — a set of rules I built up for what to strip, what to keep, and how to stay consistent across one candidate's document. The rules now shape every project in my portfolio that touches private data. The interview transcript anonymizer on the other side of this site is the most recent example. Different document, same rulebook.

If you run a recruiting agency or an HR function with the Law 25 problem this tool was built for, drop me a line. I can spin the scrubber up and show you what it does on one of your own documents — or a synthetic one, if you'd rather.

Let's talk →

Related projects