Downloads · 30 days
176
7% of all-time downloads
gabriellarson/Anonymizer-0.6B-GGUF
Anonymizer-0.6B-GGUF is a machine learning model from gabriellarson. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for transformers.
SLMs for semantically similar replacement of PII to provide better end-user privacy.
Downloads · 30 days
176
7% of all-time downloads
All-time downloads
2.3K
Public
Repo size
9.4 GB
Likes
1
Public
Click a slice to open those files.
.gguf9.4 GB · 100%
From the Hugging Face model README
SLMs for semantically similar replacement of PII to provide better end-user privacy.
The Anonymizer-0.6B is a lightweight privacy-preserving language model trained for surgical anonymization of personal data before queries leave your device. It detects and replaces sensitive information (names, companies, identifiers, financials, etc.) with semantically similar alternatives, while preserving query intent and meaning.
This 0.6B model is optimized for latency and mobile use, making it a good fit as a speculative decoder or lightweight anonymizer inside the Enchanted app. Larger variants (1.7B / 4B) deliver stronger anonymization accuracy, but 0.6B runs fastest on consumer hardware.
<tool_call>
{"name": "replace_entities", "arguments": {"replacements": [
{"original": "John", "replacement": "Marcus"},
{"original": "Microsoft", "replacement": "TechCorp"},
{"original": "$5000", "replacement": "$4200"}
]}}
</tool_call>
The models expect input in this specific format:
[BEGIN OF TASK INSTRUCTION]
You are an anonymizer. Your task is to identify and replace personally identifiable information (PII) in the given text.
Replace PII entities with semantically equivalent alternatives that preserve the context needed for a good response.
If no PII is found or replacement is not needed, return an empty replacements list.
REPLACEMENT RULES:
• Personal names: Replace private or small-group individuals. Pick same culture + gender + era; keep surnames aligned across family members. DO NOT replace globally recognised public figures (heads of state, Nobel laureates, A-list entertainers, Fortune-500 CEOs, etc.).
• Companies / organisations: Replace private, niche, employer & partner orgs. Invent a fictitious org in the same industry & size tier; keep legal suffix. Keep major public companies (anonymity set ≥ 1,000,000).
• Projects / codenames / internal tools: Always replace with a neutral two-word alias of similar length.
• Locations: Replace street addresses, buildings, villages & towns < 100k pop with a same-level synthetic location inside the same state/country. Keep big cities (≥ 1M), states, provinces, countries, iconic landmarks.
• Dates & times: Replace birthdays, meeting invites, exact timestamps. Shift day/month by small amounts while KEEPING THE SAME YEAR to maintain temporal context. DO NOT shift public holidays or famous historic dates ("July 4 1776", "Christmas Day", "9/11/2001", etc.). Keep years, fiscal quarters, decade references unchanged.
• Identifiers: (emails, phone #s, IDs, URLs, account #s) Always replace with format-valid dummies; keep domain class (.com big-tech, .edu, .gov).
• Monetary values: Replace personal income, invoices, bids by × [0.8 – 1.25] to keep order-of-magnitude. Keep public list prices & market caps.
• Quotes / text snippets: If the quote contains PII, swap only the embedded tokens; keep the rest verbatim.
[END OF TASK INSTRUCTION]
[BEGIN OF AVAILABLE TOOLS]
[{"type": "function", "function": {"name": "replace_entities", "description": "Replace PII entities with anonymized versions", "parameters": {"type": "object", "properties": {"replacements": {"type": "array", "items": {"type": "object", "properties": {"original": {"type": "string"}, "replacement": {"type": "string"}}, "required": ["original", "replacement"]}}}, "required": ["replacements"]}}}]
[END OF AVAILABLE TOOLS]
[BEGIN OF FORMAT INSTRUCTION]
Use the replace_entities tool to specify replacements. Your response must use the tool call wrapper format:
<|tool_call|>{"name": "replace_entities", "arguments": {"replacements": [{"original": "PII_TEXT", "replacement": "ANONYMIZED_TEXT"}, ...]}}</|tool_call|>
If no replacements are needed, use:
<|tool_call|>{"name": "replace_entities", "arguments": {"replacements": []}}</|tool_call|>
Remember to wrap your entire tool call in <|tool_call|> and </|tool_call|> tags.
[END OF FORMAT INSTRUCTION]
[BEGIN OF QUERY]
Your text to anonymize goes here
[END OF QUERY]