TGViewer
StepOne | Степан Минин StepOne | Степан Минин @steponeit · 3.27K subscribers
Post #314 2.31K
Маскирование secure данных в логах 💳

Эта проблема особенно актуальна для финтехов, потому что из кафки в базу то и дело гоняются джсончики с номерами карт и cvv 💳

Могу дать две наводки, чтобы избежать велосипедостроения, можете не благодарить ❤️

Первая


Если вы вдруг, используете Serilog, то обратите внимание на Serilog.Enrichers.Sensitive

Эта надстройка позволяет очень гибко настроить перехват и обработку секретных данных

Например, можно банально маскировать по имени свойства:
var logger = new LoggerConfiguration()
.Enrich.WithSensitiveDataMasking(options => options.MaskProperties.Add("pan"))
.WriteTo.Console()
.CreateLogger();


Вторая


Воспользоваться решением из джентельменского набора Microsoft под названием Microsoft.Extensions.Compliance.Redaction

Там немного другой подход из коробки - данные либо вычищаются, либо заменяются своей HMAC256 зашифрованной версией

Подробный обзор на инструмент хорошо написал Andrew Lock, повторять за ним не буду 👏
GitHub GitHub - serilog-contrib/Serilog.Enrichers.Sensitive: A Serilog LogEvent enricher that masks sensitive data A Serilog LogEvent enricher that masks sensitive data - serilog-contrib/Serilog.Enrichers.Sensitive
  • 👍 28
  • 🔥 7
  • ❤ 2
  • ❤‍🔥 1
  • 🤩 1
More from @steponeit
  1. Sep 29, 2026Рассказал как автоматизировал сборку лексера компилятором для своего языка программировани…
  2. Sep 28, 2026Пошутил про джавистов в прямом эфире 😅 Шарпизм победил окончательно и бесповоротно!
  3. Sep 27, 2026Post #860
  4. Sep 25, 2026Рассказал как я добавил в HydraScript объекты и методы без классов и сделал протоколы. Стр…
  5. Sep 22, 2026Post #858
  6. Sep 21, 2026Post #857
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →