Add support for hiding and redacting sensitive details #151
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hiding sensitive details
ConfigValue#toString
andConfigEntry#toString
to not include values.Show
instances forConfigValue
andConfigEntry
to not include values.ConfigValue#toStringWithValue
andConfigEntry#toStringWithValues
for keeping the previoustoString
behaviours.You'll no longer have to worry about accidentally logging values, unless you're explicitly logging the result from a function with
value
in the name (sourceValue
,value
,toStringWithValue
, ...).Redacting sensitive details
ConfigError#sensitive
for creating errors with sensitive details.ConfigError#redactSensitive
for redacting sensitive details.ConfigError#redactedValue
placeholder for redacted details.ConfigDecoder#redactSensitive
for redacting sensitive details in decoding errors.ConfigDecoder[Secret[A]]
to automatically redact sensitive details.ConfigError#combined
,missingKey
,readException
,wrongType
to redact sensitive details.In effect, this means that if you're using
Secret
to wrap the types of your secret configuration values, sensitive details will now automatically be redacted in error messages. And you will not have to worry about ever accidentally including secret values in log output.