The firewall
Put the detector between an application and a model: a policy per entity, a reversible token vault, a guard() that redacts the prompt, calls the model, restores the answer, and writes a log line that would pass a breach review. The artifacts are piiwall/policy.py, piiwall/vault.py, piiwall/guard.py and scripts/demo_chat.py.
Try first
Write the message mera aadhaar 2345 6789 0124 hai, kyc kab hoga? call 9876543210, Priya Nair on paper. Now write what the model should receive, what the model will probably answer, and what the user should see. Three lines.
Then answer: which of the three identifiers should the model get back, in some form, so that its answer can mention it, and which should it never see even as a token? Decide before reading on; the policy table below is yours to disagree with.