Intelligent PII discovery & classification system

Discover sensitive entities in free text and structured data with confidence-scored classification

32
sensitive data categories
84
format variants
95%
structured-data Macro F1
104
languages
GDPRChina PIPLCCPA/CPRAIndia DPDPJapan APPISingapore PDPA
Brazil LGPDSOC 2ISO 27701HIPAAPCI DSSGLBA

Precise verdicts, reliable traceability

Multi-signal cross-verification

Context signals (column names, field paths, nearby text) fuse stage by stage with a multilingual semantic analysis model; regex-and-model agreement wins over any single source.

  • Multilingual semantic analysis model trained on 1M+ real samples, 104 languages
  • Column names, field paths, and surrounding text all feed the decision
  • Every result can show its evidence: candidates, fused scores, rejection reasons
  • 26-country ID validators, 16+ country tax IDs, 6 card brands
  • Mock/test-data detection keeps drills out of your statistics
  • A non-sensitive pre-filter keeps obviously irrelevant content off the hot path

Deterministic checksum proof

For types with check digits, validators settle it mathematically: Luhn (payment cards), IBAN mod-97, Aadhaar Verhoeff, VIN, and IMEI.

Confidence means probability

Per-type confidence calibration makes 0.87 mean "87% likely correct". High-confidence results return directly; low-confidence or near-tied candidates are automatically flagged for review, never a guess. Every review you confirm becomes high-value training corpus — flowing back encrypted to feed retraining, so the more you review, the more precise the verdicts.

  • Calibrated per language; Chinese and English never share thresholds
  • Idempotent output: same input, same verdict, auditable and replayable

Continuous evolution on real traffic

Review verdicts flow back encrypted as training corpus, with regression guards. Unrecognized residue is clustered; operators confirm and promote new types at runtime, no redeploy.

  • Training corpus encrypted locally, no leakage; only authorized data enters the training loop
  • Per-type F1, drift, and calibration events observable in the console
  • Cross-instance knowledge transfer via corpus bundles

Flexible deployment, fast integration

Containerized deployment, connect in minutes

BrowserAI AgentData warehouseDocumentsCollaborationDataBrainType verdictConfidenceTiered routing

Plug-and-play REST API

curl -X POST http://127.0.0.1:18000/v1/text/scan \
  -H 'Content-Type: application/json' \
  -d '{
    "text": "Customer john.doe@google.com, phone +1-415-555-0142.",
    "min_confidence": 0.5
  }'
import requests

text = "Customer john.doe@google.com, phone +1-415-555-0142."
resp = requests.post(
    "http://127.0.0.1:18000/v1/text/scan",
    json={"text": text, "min_confidence": 0.5},
    timeout=30,
)
for m in resp.json()["results"]:
    print(m["pii_type"], m["value"], m["confidence"])
const resp = await fetch("http://127.0.0.1:18000/v1/text/scan", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    text: "Customer john.doe@google.com, phone +1-415-555-0142.",
    min_confidence: 0.5,
  }),
})
for (const m of (await resp.json()).results)
  console.log(m.pii_type, m.value, m.confidence)
curl -X POST http://127.0.0.1:18000/v1/values/scan \
  -H 'Content-Type: application/json' \
  -d '{
    "values": [
      {"value": "john.doe@google.com", "label_hint": "email"},
      {"value": "110101199003077334", "label_hint": "id_card"}
    ]
  }'
import requests

values = [
    {"value": "john.doe@google.com", "label_hint": "email"},
    {"value": "110101199003077334", "label_hint": "id_card"},
]
resp = requests.post("http://127.0.0.1:18000/v1/values/scan",
                     json={"values": values}, timeout=30)
for r in resp.json()["results"]:
    print(r["pii_type"], r["confidence"], r["role"])
const values = [
  { value: "john.doe@google.com", label_hint: "email" },
  { value: "110101199003077334", label_hint: "id_card" },
]
const resp = await fetch("http://127.0.0.1:18000/v1/values/scan", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ values }),
})
for (const r of (await resp.json()).results)
  console.log(r.pii_type, r.confidence, r.role)

Real-time on a consumer GPU

No datacenter cluster required: a single consumer-grade GPU delivers millisecond-level detection (RTX 5070, 9ms for a typical 200-character document). CPU and GPU produce identical detection accuracy; the only difference is latency.

DataBrain console system resources dashboard
Live console: system resources (consumer GPU · RTX 5070)

Data sovereignty and privacy protection

Fully offline

No telemetry, no callbacks, no external model calls; inference is entirely local and runs air-gapped.

Masked by default

Detection logs mask values by default, keeping type and confidence; scanned content is not persisted.

Signed delivery

Signed installation packages with machine-bound offline licenses, anti-rollback and revocable.

Least privilege

Non-root container; training corpus encrypted locally, no leakage; only authorized data enters the training loop.

Your global compliance map

The data foundation for compliance workflows: 32 categories and 84 format variants spanning China, the US, the EU, APAC, LatAm, and Oceania.

China

  • National ID card
  • License plates (GA 36-2014)
  • Home Return Permit
  • CSDC securities account
  • Mobile (MIIT numbering)

India / APAC

  • Aadhaar (Verhoeff)
  • PAN
  • UPI / IFSC
  • Japan My Number
  • Singapore / Australia IDs

Global identity

  • 26-country ID validators
  • 16+ country tax/VAT
  • Passport / driver license
  • Precise geolocation (CCPA)
  • Crypto addresses / cloud keys

Finance & telecom

  • Payment cards (Luhn · 6 brands)
  • IBAN / SWIFT
  • Card security codes
  • Email / phone / IP / MAC
  • IMEI / VIN

Run it once in your own environment. Free trial. Open integration

Book a demo