Files
egbim_qa_platform/docs/naver-works-notification-policy.md
root 33453ecc55
Deploy staging / deploy (push) Failing after 6s
Initial deployment setup
2026-08-31 16:45:24 +09:00

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 이벤트만 처리한다.
  • previousStatuscurrentStatus가 같으면 발송하지 않는다.
  • 완료, 진행하지 않음을 포함한 모든 유효한 피드백 상태 변경을 동일한 정책으로 처리한다.
  • 메시지에는 피드백 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 재전송, 동일 수신자 중복 등록 시 중복 메시지가 발생하지 않는다.
  • 수신자 매핑 실패 시 전체 방으로 잘못 발송되지 않는다.