When to redact vs when to tokenize vs when to refuse
Three response strategies when DLP detects sensitive data in a prompt:
Redact / replace (most common): swap the sensitive value with a role-based placeholder. The LLM can still complete the task because the type information is preserved. Best for clinical assistance, customer support, document drafting where the actual identifier isn't needed for the LLM's response.
Tokenize (advanced): replace the sensitive value with an opaque token, store the real value in a vault keyed by the token, restore the real value in the LLM response if needed. Best when the LLM needs to operate on the data and your application needs the real identifier in the response (e.g., 'send the patient a follow-up about X' where X is composed by the LLM using a tokenized patient ID). Skyflow Vault is the dominant vendor here.
Refuse / block: simply refuse to send the prompt to the LLM and surface an error to the user. Best for clearly-impermissible use cases (e.g., a user pastes a CSV of 1,000 patient records into a chat with no clear business purpose). Combine with rate-limiting and abuse detection.
Pick per use case. A clinical documentation assistant typically redacts/replaces. A patient-outreach orchestrator typically tokenizes. A general-purpose chat that detects an unexpectedly large PHI payload typically refuses.