6.8 KiB
6.8 KiB
네이버웍스 피드백 알림 정책
- 작성일: 2026-08-28
- 적용 범위: ABC UserFeedback 피드백 알림
- 목적: 피드백 이벤트를 필요한 사용자에게만 전달하고, 중복·오발송·민감정보 노출을 방지한다.
1. 확정된 이벤트별 수신자
| 이벤트 | 수신자 | 발송 조건 |
|---|---|---|
| 신규 피드백 등록 | 피드백 담당자, 프로젝트 관리자, 피드백 작성자 | 피드백이 실제로 새로 등록된 경우 |
| 피드백 상태 변경 | 피드백 담당자, 프로젝트 관리자, 피드백 작성자 | 이전 상태와 현재 상태가 실제로 다른 경우 |
| 관리자 공개 댓글 등록 | 해당 피드백 작성자 | 공개 댓글이 실제로 등록된 경우 |
수신자 해석 기준
- 피드백 담당자는 해당 피드백에 지정된 담당자다.
- 프로젝트 관리자는 해당 프로젝트·채널에
PROJECT_MANAGER로 지정된 활성 사용자다. - 피드백 작성자는 SSO의 작성자 계정과 네이버웍스 사용자 매핑이 확인된 경우에만 수신 대상이 된다.
- 수신자 정보는 이벤트 payload의 임의 이메일을 그대로 사용하지 않고, 서버가 프로젝트·채널·피드백 데이터로 확정한다.
- 동일 사용자가 여러 역할에 해당하면 네이버웍스 알림은 한 번만 발송한다.
- 담당자, 프로젝트 관리자, 작성자 중 지정되지 않았거나 비활성인 사용자는 수신 대상에서 제외한다.
- 시스템 관리자라는 이유만으로 모든 프로젝트 알림을 받지는 않는다. 해당 프로젝트의 프로젝트 관리자 또는 피드백 담당자로 지정된 경우에만 받는다.
2. 알림을 보내지 않는 이벤트
- 내부 메모 등록·수정·삭제: 외부 사용자에게 발송하지 않는다.
- 관리자 공개 댓글 수정·삭제: 별도 정책 확정 전까지 발송하지 않는다.
- 이슈 상태 변경 및 Gitea 상태 변경: 피드백 알림과 독립적인 이벤트로 취급하며, 별도 수신자·메시지 정책 확정 전까지 이 정책으로 발송하지 않는다.
- 피드백과 이슈의 상태는 서로 독립적이다. 이슈 상태가 바뀌었다고 피드백 상태 변경 알림을 보내지 않는다.
- 같은 상태로 다시 저장한 경우 상태 변경 알림을 보내지 않는다.
- 알림 연동 Bot 또는 시스템 계정이 생성한 이벤트는 재귀 알림 방지를 위해 관리자 댓글 알림 대상에서 제외한다.
3. 이벤트별 발송 규칙
3.1 신규 피드백
feedback.created이벤트만 처리한다.- 담당자·프로젝트 관리자·작성자를 합친 뒤 이메일 또는 사용자 ID 기준으로 중복 제거한다.
- 담당자와 프로젝트 관리자는 Secretary DB의 프로젝트·채널 권한 원본을 기준으로 조회한다.
- 작성자에게 보내는 메시지는 비밀글 여부를 확인하고, 비밀글의 제목·본문·댓글 원문을 포함하지 않는다.
3.2 피드백 상태 변경
feedback.status_changed이벤트만 처리한다.previousStatus와currentStatus가 같으면 발송하지 않는다.완료,진행하지 않음을 포함한 모든 유효한 피드백 상태 변경을 동일한 정책으로 처리한다.- 메시지에는 피드백 ID, 변경 전 상태, 변경 후 상태, 상세 페이지 링크를 포함할 수 있다.
- 이슈 상태 변경이나 Gitea 동기화 결과만으로는 이 이벤트를 생성하지 않는다.
3.3 관리자 공개 댓글
feedback.admin_comment_created이벤트만 처리한다.- 수신자는 해당 피드백 작성자 한 명으로 제한한다.
- 담당자, 프로젝트 관리자, 시스템 관리자, 기본 네이버웍스 방에는 보내지 않는다.
- 댓글 작성자가 내부 메모를 등록한 경우 이 이벤트를 생성하지 않는다.
- 댓글 본문은 길이 제한과 평문화 후 전송하고, 민감정보가 포함되지 않도록 최소 정보 원칙을 적용한다.
4. 중복·재전송 방지
- ABC가 제공한
eventId를 우선 사용한다. eventId + 수신자 + 알림 템플릿 버전을 발송 중복 판단 키로 사용한다.- 동일 이벤트를 다시 수신해도 같은 수신자에게 한 번만 발송한다.
- 이벤트 처리 성공과 네이버웍스 발송 성공은 별도로 기록한다.
- 네트워크 오류, timeout,
408,429,5xx만 제한적으로 재시도한다. 400,403, 잘못된 사용자 매핑 등 영구 오류는 재시도하지 않는다.- 오래된 이벤트나 현재 ABC 데이터와 다른 이벤트는 현재 데이터를 재조회한 뒤 무시하거나 격리한다.
5. 오발송 차단 및 개인정보 보호
- 사용자별 Bot 메시지 발송을 기본으로 하며, 기본 방 전체 발송으로 대체하지 않는다.
- 프로젝트·채널 범위를 벗어난 관리자나 수신자에게 발송하지 않는다.
- 수신자 매핑에 실패하면 임의 사용자나 전체 방으로 보내지 않고 실패 이력만 남긴다.
- 메시지에는 업무에 필요한 최소 정보만 포함한다.
- SSO 토큰, Webhook 인증값, 네이버웍스 access token·client secret·private key는 메시지와 로그에 남기지 않는다.
- 전화번호, IP 주소, MAC 주소는 기본 알림 메시지에 포함하지 않는다.
- 비밀글은 권한이 확인된 상세 링크와 최소 식별 정보만 전송한다.
- Webhook 인증 실패 요청의 원문 payload와 개인정보는 로그에 기록하지 않는다.
6. 메시지 기본 구성
알림 메시지는 다음 항목을 기본으로 사용한다.
- 이벤트 종류
- 프로젝트명·채널명
- 피드백 ID
- 피드백 제목 또는 상태 변경 정보
- 변경 전·후 상태(상태 변경 이벤트인 경우)
- 댓글 내용 일부(관리자 공개 댓글인 경우)
- 피드백 상세 페이지 링크
비밀글 또는 개인정보가 포함될 수 있는 경우 제목·본문·댓글 원문을 생략한다.
7. 운영 확인 항목
- 프로젝트 관리자가 Secretary DB에서 해당 프로젝트·채널의
PROJECT_MANAGER로 활성 지정되어 있다. - 피드백 담당자와 작성자의 네이버웍스 계정 매핑이 확인되어 있다.
- 신규 피드백 등록 시 담당자·프로젝트 관리자·작성자에게 각각 한 번만 도착한다.
- 피드백 상태를
완료또는진행하지 않음으로 변경했을 때도 한 번만 도착한다. - 관리자 공개 댓글은 작성자에게만 도착한다.
- 내부 메모와 이슈 상태 변경은 이 정책에 따라 발송되지 않는다.
- 같은 상태 재저장, Webhook 재전송, 동일 수신자 중복 등록 시 중복 메시지가 발생하지 않는다.
- 수신자 매핑 실패 시 전체 방으로 잘못 발송되지 않는다.