Engineers can now replace model‑specific PII scanners with a single, prompt‑driven detector that runs on any large language model (LLM) reachable through a uniform inference wrapper. By moving the detection logic into the system prompt and exposing a thin Inferencer adapter, the solution works with Amazon Bedrock models, self‑hosted GPU‑backed models, and any future LLM without code changes.
What Changed: Prompt‑Driven, Model‑Agnostic Design
The detector treats the LLM as a configurable component. A system‑prompt defines the PII schema – fifteen entity categories, optional exclusion list, and a few examples – and asks the model to return a JSON list of matches. Because the prompt, not the model, encodes the entity set, adding a domain‑specific identifier or dropping an unwanted type is a one‑line edit. The model’s raw response contains only the entity type and the matched text; a post‑processing step computes character offsets and de‑duplicates entries.
Two architectural choices enable model agnosticism:
- Instruction‑driven detection: All detection rules live in the prompt, making the approach independent of any model’s internal token‑classification heads.
- Configurable backend: The
Inferencerinterface accepts a list of messages and returns the assistant’s text. The open‑source package ships an adapter for Amazon Bedrock (e.g., Mistral, OSS‑GPT) and a generic hook that can point at a self‑hosted model on a GPU. Any service that satisfies the message‑in/message‑out contract can be swapped in.
Why It Matters to Engineers
Traditional PII filters rely on fine‑tuned token‑classification models that embed a fixed schema at training time. Introducing a new identifier requires relabeling data, retraining, and redeploying the model – a costly cycle for teams that continuously ingest new data sources such as support transcripts, HR records, or multilingual chat logs. The new detector eliminates that cycle: changing the prompt instantly updates the detection scope, and the same code runs against a cheap, low‑latency model for dev/testing or a higher‑accuracy Bedrock model for production.
Because the backend can be a self‑hosted LLM, organizations with air‑gapped or highly regulated environments can keep PII scanning inside their VPC while still leveraging the same prompt logic. The open‑source pii-detector package also provides a reproducible benchmark against five public PII corpora and nine LLM‑based detectors, including OpenAI’s PrivacyFilter, giving teams a reference point for model selection.
Architectural and Operational Implications
Deploying the detector introduces a few new considerations:
- Inference interface standardization: All callers must construct a message list compatible with the
Inferencer. Existing pipelines that invoke a specific Bedrock model will need a thin wrapper to match this contract. - Post‑processing latency: Off‑loading offset calculation to a separate step adds minimal CPU work but must be accounted for in end‑to‑end latency budgets, especially when processing large logs.
- Cost vs. accuracy trade‑offs: Selecting a frontier Bedrock model improves detection quality at higher per‑token cost, while a small open‑source model reduces expense but may yield lower recall. Teams should benchmark against the provided corpora to choose an appropriate point on the curve.
- Security posture: Running the detector in a VPC isolates PII data from the public internet. However, the prompt itself contains the full schema and examples, so any logging of prompt content must be scrubbed to avoid accidental leakage.
- Operational monitoring: Because the detector’s output format is JSON, downstream systems can validate schema compliance and flag parsing errors. Monitoring false‑positive and false‑negative rates against known test sets helps maintain confidence as models evolve.
Related CloudNinjas coverage: AWS.
What This Means For Practitioners
Adopt the pii-detector package as a reusable component in any data‑ingestion workflow. Start by wiring the Inferencer to your preferred Bedrock model, then iterate on the prompt to capture the exact entity types your domain requires. Validate the detector against the bundled public corpora to gauge baseline performance, and monitor operational metrics for latency, cost, and detection accuracy. When operating in restricted environments, replace the Bedrock adapter with a self‑hosted GPU endpoint to keep data on‑premises while preserving the same prompt‑driven logic.


