Threadline.Capture.RedactionPolicy (Threadline v0.2.0)

Copy Markdown View Source

Validates trigger redaction options at codegen time (Mix / TriggerSQL).

Excludes and masks are mutually exclusive per column: a column cannot appear in both :exclude and :mask.

Summary

Functions

Default JSON-safe mask token baked into generated SQL.

Validates :exclude, :mask, and optional :mask_placeholder.

Validates a mask placeholder string for static SQL embedding.

Functions

default_placeholder()

Default JSON-safe mask token baked into generated SQL.

validate!(opts)

Validates :exclude, :mask, and optional :mask_placeholder.

Raises ArgumentError if exclude and mask intersect (message mentions both "exclude" and "mask" and lists an offending column).

validate_placeholder!(placeholder)

Validates a mask placeholder string for static SQL embedding.

Raises if empty, longer than 200, or contains ASCII control characters (message contains "placeholder").