advanced

Безопасное логирование PII

Защищайте пользователей: редакция, хеширование, исключение и осознанное хранение чувствительных полей в логах и error reports.

Логи и error reports часто живут дольше запроса. Относитесь к ним как к полупубличному хранилищу: редактируйте, хешируйте, токенизируйте или опускайте поля, идентифицирующие людей, credentials или платёжные данные. Retention согласуйте с политикой конфиденциальности и регуляцией.

| Данные | Более безопасный паттерн | |--------|--------------------------| | Email, телефон | Redact или hash с солью | | Токены, пароли | Никогда в лог; вычищать из stack | | IP / device | Лимиты retention; ограничение цели | | Свободный ввод | Truncate; скан на случайный PII |

					function safeUser(record: { id: string; email: string }) {
  return { userId: record.id, email: '[redacted]' };
}
				

Настройте forwarders и APM на отбрасывание известных sensitive keys. «Временный» debug в production всё равно реплицируется к вендорам.

На интервью: минимизация данных, user ID vs email в логах, scrubbing в Sentry и контроль доступа при инцидентах.

Типовые ошибки: Authorization headers в логах; полные webhook с картами; экспорт логов в тикеты без редакции.

Компромисс — отладка при инцидентах против compliance-риска и доверия пользователей.

Чеклист:

  • Denylist чувствительных полей в logger.
  • Scrubbing сторонних error reporters.
  • Retention и роли доступа.
  • Review новых log-полей в code review.