PrivyShield NER Model

A fine-tuned DistilBERT model for detecting personally identifiable information (person names and addresses) in unstructured text; the core "separate model" component of PrivyShield, an on-device privacy protection tool built for OSDHack 2026.

Model Details

  • Base model: distilbert-base-uncased
  • Task: Token Classification (Named Entity Recognition, BIO tagging scheme)
  • Labels: O, B-PERSON_NAME, I-PERSON_NAME, B-ADDRESS, I-ADDRESS
  • Training data: 7,500 synthetically generated, auto-labeled sentences (template + entity-pool based generation; no manual annotation), covering Indian names, addresses, cities, and localities
  • Training: 5 epochs, fine-tuned end-to-end on the labeled dataset
  • Formats provided:
    • ner_model.onnx : exported for fast local inference
    • ner_model/ : original PyTorch checkpoint + tokenizer files

Why this model exists

Regex can reliably catch structured PII (card numbers, emails, Aadhaar/PAN formats), but it cannot catch names and addresses, which don't follow a fixed pattern. This model fills that specific gap as part of PrivyShield's layered detection pipeline; regex handles structured formats, this model handles unstructured entities, and both run entirely on-device.

Intended use

Designed to run locally (via ONNX Runtime) as part of a real-time screen-content privacy scanner. Not intended as a general-purpose NER model; it's scoped specifically to PERSON_NAME and ADDRESS detection for this use case, trained primarily on Indian name/address patterns.

Limitations

  • Trained on synthetic data; real-world OCR noise (misspellings, broken formatting) may reduce accuracy
  • English-only
  • Name/address pools are India-centric; may generalize less well to other regions' naming/address conventions
  • Not evaluated for adversarial or out-of-distribution inputs

Usage

from huggingface_hub import hf_hub_download
import onnxruntime as ort

model_path = hf_hub_download(
    repo_id="aditrynacode/privyshield-ner",
    filename="ner_model.onnx"
)
session = ort.InferenceSession(model_path)

Project

Part of PrivyShield, submitted to OSDHack 2026 (Open Source Developers Community).

Main repository: PrivyShield on GitHub

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for aditrynacode/privyshield-ner

Quantized
(60)
this model