API-first · Deterministic · 10 country modules

Find personal data in text before it leaks

A classification API hosted in Germany that scans European text for personal identifiers. IBANs, tax IDs, and national ID numbers across 10 countries. Input text is processed in memory and is not retained.

$ curl -X POST shield.promptandbuild.de/v1/classify API Docs

IBAN · Tax ID · PESEL · Personnummer · NIF · Rijksregister · DNI · Codice Fiscale

shield $ "Herr Mueller, IBAN DE89370400440532013000" SICHER IBAN, PERSON_ANREDE shield $ "Mozartstrasse 5, 1010 Wien" PRUEFEN ANSCHRIFT_VERMUTET shield $ "Pan Kowalski, PESEL 44051401458" SICHER PESEL, PERSON_ANREDE shield $ "Docker nginx traefik deployment log" FREI No configured identifier detected shield $ "NIF: 123456789, Rua Augusta 234" SICHER NIF, ANSCHRIFT_VERMUTET shield $ "ghp_ABCDEFghijKLMNopqrSTUVwxyz123456" SICHER ZUGANGSDATEN
The problem

Personal data ends up where it shouldn't

Text pipelines process customer messages, support tickets, form submissions, and AI agent outputs. Personal identifiers slip through into logs, analytics, training data, and third-party services.

AI agents and LLM pipelines

LLM inputs and outputs regularly contain names, IBANs, and ID numbers. Without a filter, personal data flows into prompts, logs, and downstream systems.

Support and CRM systems

Customers paste account numbers, tax IDs, and personal details into chat and email. Agents forward these into tickets, analytics, and reporting tools.

Data pipelines and ETL

Batch processing moves text between systems. A single unfiltered field can propagate personal data across databases, data warehouses, and backups.

Use cases

Where teams use DSGVO Shield

Add a single API call to your pipeline. The response tells you whether the text contains personal data and what kind.

CI/CD guardrail

Scan AI agent outputs before they reach production. Flag text classified as SICHER for human review. Automate what you can, escalate what you must.

Log sanitization

Check log entries before they hit your logging infrastructure. Classify and tag entries so personal data can be handled according to your retention policies.

Form and chat filtering

Classify incoming text from forms, chat, and email. Route messages containing personal identifiers to appropriate handling workflows.

How it works

Three tiers, clear boundaries

Every text is classified into one of three tiers. Mathematical checksums (Mod97, Luhn, Elfproef) validate identifiers. Humans only review what the system marks as uncertain.

SICHER (confirmed)

Contains verified personal data. IBAN validated via Mod97, credit card via Luhn, tax ID via country-specific checksum. High confidence.

PRUEFEN (review)

Potentially contains personal data. Two capitalized words in sequence, address-like patterns without full context. Flagged for human decision.

FREI (clear)

No configured identifier was detected. This is not proof that the text contains no personal data; choose a policy that matches your risk.

10
Countries
604
Engine tests & attacks
3
Decision tiers
0
External calls
Why DSGVO Shield

What makes this different

Built for teams that process European text and need to know what's in it before it moves downstream.

No input-text retention

The managed API runs on German infrastructure. Input text is processed in memory and is not written to application logs or the database. Metadata is pseudonymized for security and billing. An AVV/DPA is available for business customers.

Math, not AI guesswork

IBANs are validated with Mod97. Credit cards with Luhn. Dutch BSN with Elfproef. Polish PESEL with weighted checksums. Pattern matching plus mathematical proof reduces false positives.

Built for European formats

Each country module knows its own ID formats, address patterns, and salutation conventions. Not a generic regex list, but country-specific detection logic covering 10 EU/EEA countries.

Predictable local engine

No LLM inference and no third-party classifier calls. The engine uses deterministic patterns and checksum functions; end-to-end latency still depends on your network and deployment region.

Coverage

10 countries, real validation

Each country module combines format rules, context checks, and the applicable validation algorithms. Not every data category has a mathematical checksum; uncertain matches are returned as PRUEFEN.

🇩🇪

Germany

Mod97Luhn IBAN, Tax ID, SSN, license plate, ID card

🇫🇷

France

Mod97 NIR, SIRET, Carte Vitale, CNI

🇳🇱

Netherlands

Elfproef BSN, KvK, postal code, driver's license

🇪🇸

Spain

Mod23 DNI/NIE, CIF, NSS, passport

🇮🇹

Italy

Checksum Codice Fiscale, Partita IVA, ID card

🇵🇱

Poland

Weighted PESEL, NIP, REGON, ID card

🇦🇹

Austria

Mod97 SVNR, UID, tax number

🇧🇪

Belgium

Mod97 National register, enterprise number, eID

🇵🇹

Portugal

Weighted NIF, citizen card, NISS, passport

🇸🇪

Sweden

Luhn Personnummer, org number, passport

Integration

One endpoint, full control

Send JSON, get a classification. Pass country codes to scope the detection. Multiple countries in a single request.

POST /v1/classify
# Request curl -X POST https://shield.promptandbuild.de/v1/classify \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"text": "Herr Mueller, IBAN DE89370400440532013000", "laender": ["de"]}' # Response { "stufe": "SICHER", "kategorien": ["IBAN", "PERSON_ANREDE"], "laender": ["de"], "ms": 0.3 }
GET /v1/health
GET /v1/stats (Auth)
Pricing

Get started in 60 seconds

Subscribe, receive your API key by email, start classifying. Cancel anytime.

Starter

29EUR/month
  • 1,000 classifications / day
  • All 10 countries
  • Deterministic engine without LLM calls
  • No input-text retention
  • AVV/DPA available for business use
  • Email support
  • Cancel anytime
Get started

Secure payment via Stripe. Invoice delivered automatically.