Closed xakep139 closed 11 months ago
What's the actual issue with No 3?
From an implementation standpoint, calling either EnableRedaction or EnableEnrichment ends up activating the new extended logger, which enables all the new features.
From an implementation standpoint, calling either EnableRedaction or EnableEnrichment ends up activating the new extended logger, which enables all the new features.
I understand that, but from a user's perspective: if we have two different APIs that do one thing - then we don't need two APIs. If these two APIs mean different things, then we need to do two different things. We can update the implementation to have an internal mode (or two boolean properties) to adjust its behavior.
What's the actual issue with No 3?
That it doesn't redact anything - even though a user feels that redaction is enabled.
Description
Current implementation of ExtendedLogger enables both enrichment and redaction regardless of what was enabled.
Reproduction Steps
Scenario №1:
Even though I haven't enabled enrichment, the
CustomEnricher
will be called.Scenario №2:
Even though I haven't enabled redaction, the
ErasingRedactor
will be called to redact data annotated with data classification.Scenario №3: One more confusing thing is that when I enable redaction feature, but don't have any redactors registered, I would get sensitive data being emitted as-is. Consider this example:
Expected behavior
Each call to
EnableRedaction()
andEnableEnrichment()
enables the corresponding feature only.Actual behavior
Any of calls
EnableRedaction()
andEnableEnrichment()
apply both of them.Regression?
No response
Known Workarounds
No response
Configuration
No response
Other information
No response