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
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?
- SpaCy detects individual entities: people, places, organizations
- When a single first name is within 40 characters of a place or company → identifying context
- The entire phrase is anonymized as CONTEXT_PERSON_1
Concrete Examples
        
          Example: Simple Context NEW
          
        
      
      
      Input:
Output:
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:
Output:
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:
Output:
• 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:
Output:
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.
Questions about privacy or functionality? datenschutz@schiller-wolf.de
Zuletzt aktualisiert: 29. Oktober 2025