개인정보처리방침
최종 갱신: 2026-10-23 (테스트 운영 중) · English
1. 수집하는 정보
- Google 로그인으로 받는 이메일·이름 (계정 식별용)
- YouTube Data API 로 읽는 구독 채널 목록과 그 채널의 공개 정보(채널명·소개·최근 영상 제목·구독자 수·썸네일·국가·주제 분류)
시청 기록·댓글·좋아요는 읽지 않습니다. 권한은 youtube.readonly(읽기 전용)뿐이며, 구독을 대신 추가·삭제하지 않습니다.
2. 이용 목적
구독 채널을 분류해 성향 코드와 관심 태그를 만들고, 다른 사용자와의 공통 관심·추천 채널을 보여주기 위해서만 씁니다. 성향 코드·카테고리·태그는 YouTube 가 제공하는 데이터가 아니라 chchu 의 자체 분석입니다.
3. 보관과 삭제
- 구독 목록(인가된 데이터)은 연결 해제 또는 계정 삭제(대시보드 하단 “계정 삭제”) 시 즉시 삭제합니다. 계정 삭제는 이메일·이름·추천 채널·프로필까지 모두 지웁니다 (YouTube API 서비스 약관 III.D.2.3.a — 7일 이내).
- Google 계정 설정에서 직접 권한을 철회한 경우에도 7일 안에 연결과 구독 데이터를 삭제합니다.
- 채널의 공개 정보는 30일마다 갱신하거나 삭제합니다 (III.E.4.d).
- OAuth 토큰은 암호화해 저장하며, 연결 해제·계정 삭제 시 Google 에 철회 요청을 보내고 삭제합니다.
- 장애 복구용 데이터베이스 백업은 암호화해 AWS 서울 리전에 보관하며, 복구 외에는 쓰지 않습니다. 삭제한 데이터는 백업에서도 최대 14일 안에 백업과 함께 사라집니다.
- 공개 프로필 링크의 열람 수를 날짜별 합계 숫자로만 셀 수 있습니다(지금은 운영자 본인의 공개 프로필 하나). 누가 봤는지(IP·쿠키·기기 정보)는 저장하지 않으며, 30일 안에 삭제합니다. 공개를 끄거나 계정을 삭제하면 즉시 삭제합니다.
4. 제3자 제공
채널 분류와 관심 태그 번역에 외부 언어모델 API(Anthropic Claude)를 쓰며, 이때 전달되는 것은 채널의 공개 정보(채널명·소개·최근 영상 제목)와 그로부터 만든 태그 낱말뿐입니다. 사용자의 이메일·구독 목록 전체·토큰은 전달하지 않으며, 전달된 정보는 분류 응답을 받는 데만 쓰이고 모델 학습에 쓰이지 않는 조건의 API 를 사용합니다.
만 14세 미만 법정대리인 동의 메일(§8)은 메일 발송 서비스(Resend)로 보냅니다. 이때 전달되는 것은 받는 사람(법정대리인)의 이메일 주소와 동의 링크가 담긴 메일 본문뿐이며, 아동·법정대리인의 이름은 넣지 않습니다. 그 외 제3자 제공·판매는 없습니다.
서비스 데이터(계정·구독 스냅샷·암호화된 토큰)는 Amazon Web Services 서울 리전(Lightsail) 서버에 저장됩니다. AWS 는 서버 운영(호스팅)만 맡습니다.
5. Google API 서비스 사용자 데이터 정책 (Limited Use)
chchu 가 Google API 로부터 받은 정보의 이용과 다른 앱으로의 이전은 Google API Services User Data Policy(제한적 사용 요건 포함)를 따릅니다. 원문 고지: “chchu’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.” 또한 YouTube 서비스 약관과 Google 개인정보처리방침을 따릅니다. 권한 철회는 Google 계정 권한 페이지에서도 할 수 있습니다.
6. 데이터 보호 조치
Google 계정으로 받은 정보(이메일·이름·구독 목록·OAuth 토큰)를 다음과 같이 보호합니다.
- 전송 암호화: 브라우저와 서버, 서버와 Google API 사이의 모든 통신은 HTTPS(TLS)로만 이루어집니다.
- 저장 암호화: OAuth 액세스·리프레시 토큰은 서버에서 대칭키 암호화(AES-128-CBC + HMAC, Fernet)로 암호화해 데이터베이스에 저장하며 평문으로 저장하지 않습니다. 암호화 키는 데이터베이스와 분리된 서버 환경변수로만 보관합니다.
- 접근 통제: 데이터베이스는 외부에서 접근할 수 없는 내부 네트워크에만 있고, 각 사용자의 데이터는 로그인한 본인 세션(서명된 JWT)으로만 조회됩니다. 운영자 화면은 지정된 관리자 계정으로 제한되며 개별 사용자의 구독 목록·토큰을 보여주지 않습니다.
- 최소 수집·최소 보관: 읽기 전용 스코프 하나만 요청하고, §3 의 기간이 지나거나 연결 해제·계정 삭제 시 지체 없이 삭제합니다.
- 유출 대응: 개인정보 유출을 인지하면 영향받는 사용자에게 지체 없이 이메일로 알리고, 해당 토큰을 Google 에 철회 요청한 뒤 삭제합니다.
7. 쿠키와 기기 저장소
chchu 는 아래 목적으로만 브라우저에 쿠키와 로컬 저장소(localStorage)를 둡니다. 광고·추적 목적의 쿠키나 제3자 분석 스크립트는 쓰지 않습니다.
- 로그인 세션 쿠키(
chchu.session-token, httpOnly): 로그인 상태 유지. 로그아웃하거나 만료되면 사라집니다. 로그인 과정에서 Auth.js 가 CSRF·콜백 보호용 쿠키를 잠시 둡니다. - 언어 쿠키(
lang, 1년): 선택한 표시 언어를 기억합니다. - 로컬 저장소: 다크 모드(
theme)·사이드바 접힘(sidebar)·관리자 화면 패널 접힘 같은 화면 설정. 기기 안에만 저장되고 서버로 전송되지 않습니다.
브라우저 설정에서 쿠키와 사이트 데이터를 지우면 로그아웃되고 화면 설정이 초기화될 뿐, 서버에 보관된 데이터에는 영향이 없습니다. 이 저장소들에 구독 목록·이메일·토큰을 넣지 않습니다.
8. 만 14세 미만 아동
- 현재(2026년 10월 17일부터) 만 14세 미만의 새 이용은 받지 않으며, 법정대리인의 성명·이메일도 받지 않습니다. 보호자 관리 계정은 YouTube 가 구독 정보 조회를 막아 이용할 수 없기 때문입니다. 아래는 다시 받게 될 때 적용되는 절차입니다.
- 만 14세 미만은 법정대리인(부모 등)의 동의를 받은 뒤에만 이용할 수 있습니다(개인정보 보호법 제22조의2). Google 로그인 전에 나이를 확인하며, 만 14세 미만이면 동의가 확인되기 전까지 Google 로그인과 YouTube 연결을 받지 않습니다.
- 동의를 받기 위해 아동에게서 법정대리인의 성명과 이메일만 받으며, 동의 요청·확인 메일을 보내는 데만 씁니다.
- 확인 방법: 법정대리인의 이메일로 1회용 동의 링크를 보내고, 링크의 동의 화면에서 법정대리인 본인임을 확인하고 [동의]를 누르면 동의 시각·IP 주소·브라우저 정보를 기록한 뒤 확인 메일을 보냅니다. 아동의 Google 계정 이메일이 법정대리인의 이메일과 같으면 동의로 인정하지 않고 그 요청을 삭제합니다.
- 법정대리인은 동의하지 않을 수 있습니다. 동의하지 않으면 아동은 서비스를 이용할 수 없으며, 그 밖의 불이익은 없습니다.
- 보관: 동의하지 않으면 즉시, 7일 안에 동의가 없거나 동의 후 7일 안에 아동이 로그인하지 않으면 그때 법정대리인의 성명·이메일을 삭제합니다. 동의 기록은 아동 계정이 있는 동안 증빙으로 보관하고, 계정이 삭제되면 함께 삭제합니다.
- 법정대리인은 확인 메일의 링크에서 언제든 동의를 철회할 수 있으며, 철회하면 아동의 계정과 데이터(§3)를 즉시 삭제합니다. 아동 정보의 열람·정정·삭제는 아래 문의 주소로 요청할 수 있습니다.
- 이 과정에서 연령 확인 쿠키(
chchu.age, 5분, httpOnly)와 동의 요청 쿠키(chchu.guardian-request, 7일, httpOnly)를 잠시 둡니다. - 국내 만 14세 미만 Google 계정은 대개 보호자 관리(Family Link) 계정이며, YouTube 가 이런 계정의 구독 정보 조회를 막을 수 있습니다. 이 경우 동의 후에도 YouTube 연결이 되지 않고 구독 정보를 받지 않습니다.
9. 문의
prod.wtkim@gmail.com