using MxGateway.Server.Diagnostics; namespace MxGateway.Server.Dashboard; internal static class DashboardRedactor { private static readonly string[] SensitiveTextMarkers = [ "apikey", "api_key", "authorization", "credential", "password", "secret", "token", ]; public static string? Redact(string? value) { if (string.IsNullOrWhiteSpace(value)) { return value; } if (value.Contains("mxgw_", StringComparison.OrdinalIgnoreCase)) { return GatewayLogRedactor.RedactClientIdentity(value); } return SensitiveTextMarkers.Any(marker => value.Contains(marker, StringComparison.OrdinalIgnoreCase)) ? GatewayLogRedactor.RedactedValue : value; } }