using System.Text.RegularExpressions;
namespace PolyTrader.Core.Security
{
///
/// Entfernt bekannte Secret-Muster aus Text, der an extern gehostete Dienste (Deploymentcenter:
/// Watchdog, Fehler-Reporting) geht. Nur die Musterprüfung selbst — Längenbegrenzung und
/// Zeilenbehandlung entscheidet jeder Aufrufer selbst (eine kurze Statuszeile und ein mehrzeiliger
/// Stacktrace brauchen unterschiedliche Regeln).
///
public static class SecretRedactor
{
/// Entfernt Wallet-Adressen/Keys (0x-Hex) und verschlüsselte Secrets (enc:v1:…).
public static string RemoveSecrets(string? text)
{
if (string.IsNullOrEmpty(text)) return string.Empty;
string s = Regex.Replace(text, "0x[0-9a-fA-F]{8,}", "0x…");
s = Regex.Replace(s, @"enc:v1:[A-Za-z0-9+/=]+", "enc:v1:…");
return s;
}
}
}