Audit log потрібен не тільки “для комплаєнсу”
Аудит допомагає розбирати інциденти, відновлювати історію змін і знаходити “хто/коли/що зробив”. Для B2B систем це часто обов’язкова вимога.
1) Які події логувати
- Логін/вихід, зміна пароля, 2FA.
- Зміни ролей/permissions.
- Фінансові події: інвойси, платежі, повернення.
- Експорт/імпорт даних.
2) Структура запису
- actorId, action, resourceType, resourceId.
- timestamp, ip, userAgent, requestId.
- diff/changes (обережно з PII).
3) PII і безпека логів
- Не логуй токени/паролі/повні платіжні дані.
- Маскуй email/телефон там, де можливо.
- Доступ до audit log — теж під ролями і з аудитом.
4) Ретеншн і продуктивність
Аудит росте швидко. Потрібні архівація/TTL, індекси по actorId/resourceId і окреме зберігання “важких” полів.
Підсумок
Хороший audit log — це структуровані події, кореляція, захист PII і контроль доступу. Він допомагає підтримці і підсилює безпеку продукту.