About Privacy Filter

What this does

Paste in text and it comes back with personally identifiable information (PII) replaced by a category tag, e.g. Jón Jónsson becomes [PRIVATE_PERSON]. This project is specifically built for Icelandic text and Icelandic PII formats: kennitala, Icelandic phone numbers, Icelandic addresses, and Icelandic person/company names. It has not been tuned for other languages, so accuracy on non-Icelandic text will be poor.

What it can detect

Every match is replaced with one of the following tags:

TagWhat it catches
[PRIVATE_PERSON]Icelandic person names
[PRIVATE_COMPANY]Company names (ehf., hf., sf., svf., ohf., ses., ...)
[PRIVATE_ADDRESS]Icelandic street addresses
[PRIVATE_EMAIL]Email addresses
[PRIVATE_PHONE]Icelandic phone numbers
[PRIVATE_KENNITALA]Kennitala (Icelandic national ID number)
[PRIVATE_BANK_ACCOUNT]Domestic bank account numbers
[PRIVATE_IBAN]IBAN numbers
[PRIVATE_CARD]Credit/debit card numbers
[PRIVATE_IP]IPv4 addresses
[PRIVATE_LICENSE_PLATE]Vehicle license plates
[PRIVATE_USERNAME]@handle social media usernames

The convention we follow

Redacted spans are tagged inline with a bracketed [PRIVATE_*]-style label naming the category, the same convention OpenAI set with their Privacy Filter release (e.g. their [PRIVATE_PERSON], [PRIVATE_EMAIL], [PRIVATE_PHONE]). We use the same idea, extended with tags for identifiers specific to Iceland, like [PRIVATE_KENNITALA] and [PRIVATE_IBAN].

The approach underneath is different, though. OpenAI's Privacy Filter is a 1.5B-parameter token-classification model trained on a general, mostly English/multilingual taxonomy. This project is a small, fully deterministic pipeline built specifically for Icelandic: checksum-validated regex (Luhn for cards, mod-97 for IBAN, mod-11 for kennitala), Icelandic street names matched against Staðfangaskrá (the national address registry), and Icelandic person and company names resolved via Greynir's tokenizer against BIN (the complete database of Icelandic word forms). It trades a language model's context-awareness for being fast, dependency-light, and tuned to Icelandic-specific identifiers a general-purpose model is less likely to have seen much of during training.

Limitations

This is a demo, not a certified anonymization tool. Rule-based detection has a hard ceiling: it can miss unusual phrasing, and low-resolution heuristics (like the license plate detector) can over-match on lookalike patterns. Every result has a thumbs up / thumbs down button, so use it: ratings on real mistakes are what will actually improve the filter over time.

Why this exists

Icelandic is spoken by roughly 370,000 people, too small a market for most off-the-shelf privacy and NLP tooling to bother with, so identifiers like kennitölur, Icelandic street addresses, and Icelandic names routinely slip through PII filters built for English. This project exists to close that gap for Icelandic text specifically.

What's next

This rule-based pipeline is the baseline. I'm currently working on an LLM-based PII masker for Icelandic, moving from checksum-validated regex and gazetteer lookups toward a model with real context-awareness, closer in spirit to what OpenAI's Privacy Filter does for English. If you're interested in Icelandic NLP, privacy tooling, or want to collaborate on this, reach out via the contact info below.

Who built this

I'm Sigurður Haukur Birgisson. I'm from Iceland, finishing my AI degree at the University of Groningen, and I build language tooling for Icelandic (OCR, text-to-speech, and now PII detection) because the tools I need for a language this size usually don't exist yet, so I build them. I also compete internationally in cybersecurity with Iceland's national team, and sail competitively for Iceland.

More about me and my other projects: sigurdurhaukur.com.

Questions, feedback, want to collaborate on the LLM-based version, or need this for something bigger than a demo? Email contact@sigurdurhaukur.com.