Audit trail design

일반 로그가 아니라 증거가 되는 최소 필드를 설계한다

중요 행위의 책임과 변경 내역을 재구성할 수 있어야 하며, 민감값은 저장 전에 제거한다.

who
사용자·시스템·IP

행위 주체를 식별한다.

what
action

로그인, 생성, 수정, 삭제, 설정 변경 같은 행위 이름을 남긴다.

when
timestamp + requestId

시간순 추적과 운영 로그 연결이 가능해야 한다.

target
targetId + resource

어떤 리소스가 바뀌었는지 ID와 타입을 분리한다.

result
success / failure

성공 여부와 주요 변경값을 남기되 토큰과 비밀번호는 제외한다.

store
별도 테이블·중앙 로그

보존 기간과 접근 권한을 애플리케이션 로그와 분리한다.

저장 전 필터: exclude password, token, secret / include userId, action, target, result.