How to Run an Offline Resume Anonymizer with Open-Source LLMs and Ollama

Ads

Commercial cloud AI services are convenient for text editing, but pasting an unredacted resume sends personal data to remote servers. Your home address, phone number, personal email, current employer, and proprietary metrics get stored in server logs and potentially used for training.

Running an offline resume anonymizer via Ollama allows you to scrub all personally identifiable information (PII) on your own machine before using cloud LLMs.

The Local Privacy Workflow

This approach separates data redaction from text drafting. A lightweight open-source model running locally replaces identifiable entities with placeholders, such as [CANDIDATE_NAME], [EMPLOYER_A], or [METRIC_1].

Once scrubbed locally, you can paste the redacted text into any cloud AI service to tailor it. When the cloud model finishes, you run a local find-and-replace to restore your original details.

Setting Up the Local Engine with Ollama

You do not need specialized hardware for basic entity redaction. Any modern laptop with at least 8 GB of RAM can run lightweight 7B or 8B parameter open-source models.

The Local Entity Scrubbing Prompt

Paste this prompt directly into your terminal session, followed by your resume text.

You are a secure, offline data anonymization engine. Your task is to scrub all Personally Identifiable Information (PII) and proprietary identifiers from the resume below.

Replacement Instructions:
- Replace candidate's full name with [CANDIDATE_NAME]
- Replace phone numbers with [PHONE_NUMBER]
- Replace email addresses with [EMAIL_ADDRESS]
- Replace links (LinkedIn, GitHub, portfolios) with [PROFILE_URL]
- Replace physical locations/addresses with [LOCATION]
- Replace specific company names with [COMPANY_1], [COMPANY_2], etc.
- Replace proprietary internal tool names with generic descriptors (e.g., replace 'Project Titan' with [INTERNAL_PIPELINE])

Preserve all general skills, technical tools (e.g., Python, AWS, Docker), and job bullet structures intact.

Output only the sanitized text followed by a [Replacement Key] mapping table.

Resume Text:
[Paste your full resume here]

Rehydrating the Tailored Cloud Output

After your local model outputs the sanitized draft, copy that text into your cloud LLM alongside the target job posting to tailor it.

Once the cloud model generates the revised text, copy it back into a local text editor. Use the [Replacement Key] generated during the first step to swap placeholders back to your real details.

FAQ

Does running a model locally cost money?

No. Ollama is open-source, and model weights like Mistral and Llama 3 are free to download and run without an internet connection.

Will local models hallucinate while anonymizing?

Because the prompt only maps entities, hallucination risk is low. Even so, review the replacement table to ensure no email address or URL was missed.

Can I automate this with a script?

Yes. You can pipe a markdown resume into Ollama using a shell script or Python script via the local HTTP endpoint at localhost:11434.

Key Takeaways

Related Reading