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; } } }