프로덕션 체크리스트
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을 전환하고 프로덕션을 대상으로 스모크 테스트(카탈로그 → 토큰 → 재생 → 이벤트)를 실행하세요.