Why redaction is weaker for language models
A traditional app can show a redacted value and still be safe enough for the user's workflow. A language model is different because it can reason about the existence of the redacted field.
If the prompt contains Salary__c: [redacted], the model has learned that salary exists, that it is relevant, and that it may relate to the user's question.