프로덕션 체크리스트

base https://nu-signal-partners.vercel.app/v1로 전환하고 nsp_live_ 키를 사용하기 전에 이 항목들을 점검하세요. 각 항목은 관련 레퍼런스로 연결됩니다.

라이선싱 & 액세스

  • 활성 라이선스 계약 — 제공하려는 모든 타이틀 + 권리 지역 + 에피소드를 포괄하는, production_api_enabled: true 상태의 ACTIVE 계약(라이선스 API).
  • 프로덕션 API 키최소 권한 스코프만으로 생성(04, 03).
  • 관리 키 격리api_keys:write는 볼트에 보관된 운영 키에만 존재하며, 재생/이벤트 런타임 키에는 없어야 합니다.
  • 시크릿 저장 — 프로덕션 키 시크릿을 시크릿 매니저에 저장(한 번만 표시됨).

하드닝

  • allowed_origins 설정 — 전송하는 모든 재생 origin이 등록되어 있어야 하며, 그 외에는 토큰 발급 시 거부됩니다.
  • allowed_ips 설정 (해당하는 경우) — 프로덕션 서버 IP/CIDR 허용.
  • 키는 서버 측에서만 사용 — 브라우저나 모바일 앱에 절대 포함하지 마세요(보안 모범 사례).

안정성

  • 이벤트 멱등성 — 실세계 이벤트별로 안정적인 event_id를 사용해 재시도가 중복 제거되도록(duplicate_event_id) 하세요(이벤트 API).
  • 멱등 POST에 X-NU-Request-Id 사용 — 재생 토큰 및 라이선스 요청 생성에 사용하세요. 이벤트는 안정적인 event_id로 중복을 제거합니다.
  • error.code 기반 오류 처리 — 안정적인 코드로 분기하고, 로그에 request_id를 노출하세요(오류 코드).
  • 속도 제한 처리Retry-After를 준수하고, 지터로 백오프하고, 이벤트를 배치 처리하고, X-RateLimit-Remaining으로 미리 스로틀링하세요(속도 제한).

재생

  • viewer_id_hash — 파트너 솔트를 적용한 SHA-256, 원시 PII 미포함(재생 API).
  • 토큰 TTL — 만료 시 재발급하세요. expires_at 이후로 매니페스트 URL을 캐싱하지 마세요.

모니터링 & 운영

  • 모니터링/알림 — 오류율, p95 지연 시간, 429, 정산 대사 편차를 추적하세요.
  • 키 회전 계획 — overlap-and-revoke 절차를 문서화하세요.
  • 정산 대사 — 라인 항목 금액(nu_share, partner_share, rights_holder_share)을 자체 수치와 비교하고, 분쟁 처리 플로우를 숙지하세요(정산 API).

모든 항목을 체크하면 베이스 URL을 전환하고 프로덕션을 대상으로 스모크 테스트(카탈로그 → 토큰 → 재생 → 이벤트)를 실행하세요.