Log thường bị coi là vùng "an toàn" nhưng thực tế nó được đẩy sang hệ thống tập trung, giữ lâu, và nhiều người đọc được hơn cả database.
Không ghi vào log:
- Mật khẩu, kể cả trong payload đăng ký/đăng nhập.
- Token, session id, API key, refresh token, mã OTP.
- Số thẻ, CVV, khoá bí mật, chuỗi kết nối có kèm password.
- Dữ liệu cá nhân không cần thiết: số CCCD, địa chỉ, hồ sơ y tế.
Cách bảo đảm ở quy mô team:
- Đặt redaction ở tầng logger, không trông chờ mỗi người tự nhớ. Logger cấu hình danh sách key nhạy cảm (password, token, authorization, card) và tự thay bằng [REDACTED].
- Không log nguyên request/response body ở production. Log id tương quan (request id, user id) rồi tra ngược khi cần.
- Nhớ cả error object: nhiều HTTP client nhét đầy đủ header Authorization vào message của exception.
- Đặt retention hữu hạn và giới hạn quyền xem log như một hệ thống dữ liệu thật, có audit.
Ngược lại, có những thứ phải log: đăng nhập thành công/thất bại, đổi quyền, thao tác quản trị — thiếu chúng thì lúc điều tra sự cố không dựng lại được chuyện gì đã xảy ra.