DefaultMaskingEngine

class DefaultMaskingEngine(resolver: ResourcePolicyResolver, onFailClosed: MaskingFailureSink = MaskingFailureSink { _ -> }, resolverErrorMode: ResolverErrorMode = ResolverErrorMode.MASK_ALL) : MaskingEngine

The default MaskingEngine: resolves each resource's policy once per call (via MaskingContext.memoize) and fails closed, entirely independent of any serialization library.

Fail-closed posture (see docs/adr/0001-serialization-context-passing.md and ADR 0006):

Each fail-closed drop notifies onFailClosed; resource-level failures fire once per (call, resource) because MaskingContext.memoize runs resolution only once.

Constructors

Link copied to clipboard
constructor(resolver: ResourcePolicyResolver, onFailClosed: MaskingFailureSink = MaskingFailureSink { _ -> }, resolverErrorMode: ResolverErrorMode = ResolverErrorMode.MASK_ALL)

Functions

Link copied to clipboard
open override fun decide(resource: String, field: String, capability: MaskingCapability, context: MaskingContext): MaskingDecision