PII Anonymizer: GDPR-compliant & Local

Our PII anonymizer automatically detects and anonymizes personally identifiable information (PII) in texts. Processing is done exclusively locally on our servers in Germany – no data is stored or shared with third parties.

We combine pattern-based detection (emails, phone numbers, IBANs) with AI-powered Named Entity Recognition (names, organizations) for precise, GDPR-compliant anonymization in under 15ms.

No registration required • Public API available

What is Personally Identifiable Information (PII)?

According to GDPR Art. 4 Para. 1, personal data is any information relating to an identified or identifiable natural person. This means: Any information that can be directly or indirectly attributed to a person is considered personal and subject to data protection.

What does our anonymizer detect?

We detect full names ('Michael Berg'), direct contact information (emails, phone numbers), and identifying combinations ('Franziska from Berlin'). Single first names alone ('Michael') are not detected – only the combination with location or company makes them identifying.

What we anonymize

This data can identify individuals and is automatically detected:

Full Names & Pattern-based Detection

Michael Berg, Franziska Holm, Dr. Robert Hase, 'I am Peter', 'my name is Anna'

Full names uniquely identify individuals. NEW: Single first names in patterns like 'I am Peter' or 'my name is Anna' are also detected.

Email Addresses

michael.berg@example.com

Email addresses are direct contact information.

Phone Numbers (International)

+49 (30) 533 206 -0 • +1-555-123-4567 • +44 20 1234 5678

International phone numbers in all formats. Supports parentheses, hyphens, and spaces. Short numbers under 8 digits are not detected.

Addresses & Street Names (8 Countries)

Konrad-Adenauer-Straße 123, 12345 Berlin • 123 Main Street, New York, NY 10001 • 42 Rue de la Paix, 75002 Paris

Complete addresses from Germany, USA, UK, France, Spain, Italy, Switzerland, and Austria. Supports various formats: with/without comma, multi-line, with pipe separator.

Bank Details (IBAN)

DE89 3704 0044 0532 0130 00

IBANs are sensitive financial data.

Birth Dates

23.07.1985, 15.03.1990

Birth dates can contribute to identification.

🌍 International Support

Our PII anonymizer supports multiple countries and languages. Detection happens automatically based on recognized patterns.

Supported Countries

🇩🇪
Germany
Full support
🇺🇸
USA
Addresses, Phone
🇬🇧
United Kingdom
Addresses, Phone
🇫🇷
France
Addresses, Phone
🇪🇸
Spain
Addresses, Phone
🇮🇹
Italy
Addresses, Phone
🇨🇭
Switzerland
Addresses, Phone
🇦🇹
Austria
Addresses, Phone

Multilingual Name Recognition

Our AI recognizes names in various languages automatically:

John Smith, José García, François Dubois, Maria Rossi

International Phone Numbers

Supports all international formats:

+49 (30) 533 206 -0, +1-555-123-4567, +44 20 1234 5678

Extensible: Our modular plugin system enables easy extension with additional countries and formats.

What we don't anonymize

This information is not personal data:

Single First Names (without context)

Michael, Anna, Thomas (without 'I am' or location)

A first name alone does not identify a person – there are millions of people with the same first name. BUT: In patterns like 'I am Peter' or with location information they are detected.

Cities and Places

Hamburg, Berlin, Munich

Location information is public and does not identify a person.

Job Titles

Office Clerk, Software Engineer

Job titles describe a role, not a person.

Company Names

Schiller & Wolf, Google

Company names are not personal data. Exception: Companies with legal form (e.g. 'Müller GmbH') may be detected for sole proprietorships.

Identifying Combinations (NEW!)

Our system also detects combinations that only become identifying together:

Examples of identifying combinations:

Franziska from Berlin → First name + City
Thomas works at Microsoft → First name + Company
Anna lives in Cologne → First name + City

How does it work?

  1. SpaCy detects individual entities: people, places, organizations
  2. When a single first name is within 40 characters of a place or company → identifying context
  3. The entire phrase is anonymized as CONTEXT_PERSON_1

Concrete Examples

Example: Simple Context NEW

Input:

Franziska from Berlin applied

Output:

[CONTEXT_PERSON_1] applied

What was detected:

Franziska from Berlin → anonymized (First name + City = identifying context)

ℹ️ Single first names or cities alone are not anonymized. Only the combination makes them identifying.

Example: Pattern-based Detection NEW

Input:

Hello, I am Peter from Müller & Schmidt GmbH, my email is peter.m@example.com, and we are located at Main Street 12.

Output:

Hello, I am [PERSON_1] from [ORGANIZATION_1], my email is [EMAIL_1], and we are located at [STREET_NAME_1] 12.

What was detected:

I am Peter → anonymized (pattern-based detection)

Müller & Schmidt GmbH → anonymized (organization with legal form)

peter.m@example.com → anonymized (email)

Main Street → anonymized (street name)

Example 1: Job Rejection

Input:

Absage an Franziska Holm, die sich auf die Stelle als Bürokauffrau in Hamburg beworben hat und am 23.07.2023 ein Bewerbungsgespräch mit Holger geführt hat.

Output:

Absage an [PERSON_1], die sich auf die Stelle als Bürokauffrau in Hamburg beworben hat und am [DATE_1] ein Bewerbungsgespräch mit Holger geführt hat.

Franziska Holm → anonymisiert (vollständiger Name)

Bürokauffrau → nicht anonymisiert (Berufsbezeichnung)

Hamburg → nicht anonymisiert (Stadt)

23.07.2023 → anonymisiert (Datum)

Holger → nicht anonymisiert (einzelner Vorname)

Example 2: Contact Data

Input:

Für den Auftraggeber: Robert Hase Konrad-Adenauer-Straße 123, 12345 Berlin Tel: +49 (0)231 989 497 20 Email: robert.hase@example.com Schiller & Wolf

Output:

Für den Auftraggeber: [PERSON_1] [ADDRESS_1] Tel: [PHONE_1] Email: [EMAIL_1] Schiller & Wolf

How does detection work?

Pattern Recognition

Structured data like emails, phone numbers, and IBANs are detected and validated using regular expressions (e.g., Luhn algorithm for credit cards).

⚡ <10ms

AI Recognition (SpaCy)

German AI model (de_core_news_lg) for Named Entity Recognition of names, organizations, and locations. Running locally on our servers.

⚡ ~10ms

Address Recognition

Specialized regex patterns for German, Austrian, and Swiss addresses with street, house number, postal code, and city.

⚡ <5ms

Total: ~10ms (all systems run in parallel)

Data Storage & Security

🇩🇪 Local Processing

All data is processed exclusively on our servers in Germany. Mapping tables are temporarily stored in cache (SolidCache, servers in Germany).

🗑️ Minimal Storage

Original texts: NO storage (RAM processing only)
Mapping tables: Temporary cache storage for 1 hour (for de-anonymization)
Anonymized texts: No storage by PII service

🔐 Encryption

All mapping tables are stored in cache and only accessible with your session ID (UUID, 128-bit). Automatically deleted after 1 hour.

📝 No Logging

We do not log content. Only technical metadata for statistics.

🔄 De-anonymization

Only possible with your session ID. Only you have access to your session ID. Not possible after 1 hour (data automatically deleted). No logging of de-anonymizations.

🌍 No Data Transfer

The PII anonymization service transmits NO data to third parties. All processing steps are performed exclusively on our servers in Germany. AI recognition (SpaCy) runs locally. What you do with the anonymized texts is your responsibility.

Try it now

Test our PII anonymizer for free and GDPR-compliant. No registration required.

Questions about privacy or functionality? datenschutz@schiller-wolf.de

Zuletzt aktualisiert: 29. Oktober 2025