namespace ZB.MOM.WW.Audit;

/// <summary>
/// Filters an <see cref="AuditEvent"/> between construction and persistence — truncates oversized
/// fields and scrubs sensitive content. Pure function: returns a filtered COPY and MUST NOT throw
/// (over-redact on internal failure). Shaped to mirror Telemetry's <c>ILogRedactor</c> so a future
/// ZB.MOM.WW.Hosting aggregator can wire both consistently; intentionally has no dependency on it.
/// </summary>
public interface IAuditRedactor
{
    /// <summary>Apply the configured truncation/redaction policy and return a filtered copy.</summary>
    AuditEvent Apply(AuditEvent rawEvent);
}
