공개 개인정보 안내
개인정보 처리방침
My Tiny TV는 Google 계정으로 로그인해 본인이 올린 영상과 선택한 자막을 비공개로 보관하고, 처리 상태를 확인하며, 여러 기기에서 이어보는 개인 비디오 라이브러리입니다.
1. 서비스와 처리 원칙
- 영상과 자막은 업로더 본인만 조회·재생·수정·삭제할 수 있으며 공개 공유·검색·추천 기능은 제공하지 않습니다.
- 수집한 정보는 계정 식별·인증, 개인 라이브러리 제공, 영상 변환·비공개 재생, 자막 제공, 이어보기, 삭제·장애 복구와 서비스 보안 목적에만 사용합니다.
- 광고, 행동 프로파일링, 결제와 판매를 위한 개인정보 처리는 하지 않습니다.
2. 처리하는 개인정보와 이용 목적
My Tiny TV는 서비스 제공에 필요한 범위에서 아래 정보를 처리합니다. 영상과 자막은 업로더 본인만 접근할 수 있습니다.
| 처리 항목 | 이용 목적 | 보유기간과 파기 |
|---|---|---|
| Google 계정 정보Google OAuth가 반환하는 고유 계정 식별자, 이메일 주소, 표시 이름 | Google 계정으로 사용자를 식별하고 계정을 생성·갱신하며 개인 라이브러리의 소유권을 확인합니다. | 서비스 이용 중 보관하며, 계정 삭제가 완료되면 지체 없이 파기합니다. |
| 로그인 세션과 토큰HttpOnly 로그인 세션, 세션에 담긴 access token·refresh token, DB의 hash 처리된 refresh token | 로그인 상태를 유지하고 보호된 라이브러리·업로드·재생 요청을 인증합니다. | 발급 후 15분 동안 유효하며, 만료·로그아웃·계정 삭제 시 더 이상 사용하지 않습니다. 최대 30일 동안 유효하고 로그아웃·rotation·계정 삭제 시 폐기합니다. DB에는 원문이 아닌 hash만 보관합니다. |
| 영상과 파생 결과물영상 제목·파일명, 원본 영상, 선택적 자막, 썸네일, HLS manifest와 segment 결과물 | 본인이 올린 영상을 변환하고 썸네일·자막과 함께 비공개로 재생합니다. | 계정 또는 개별 영상 삭제 요청 전까지 보관합니다. 삭제 요청 즉시 접근을 차단하고, 내구성 있는 저장소 정리가 끝난 뒤 물리적으로 파기합니다. |
| 연결되지 않은 업로드 임시물업로드가 완료되지 않아 DB record와 연결되지 않은 staging object | 직접 업로드 중 생성된 임시 저장물을 회수하고 저장소에 고아 object가 남지 않게 합니다. | presigned 업로드 권한은 15분이며, DB와 연결되지 않은 staging object는 R2 Lifecycle에 따라 최대 8일 뒤 정리합니다. |
| 영상 처리 상태uploading·processing·ready·failed 상태, 처리 진행률과 장애 복구에 필요한 오류 정보 | 영상 변환 상태를 표시하고 실패한 처리를 복구·재시도합니다. | 해당 영상의 처리와 장애 복구에 필요한 동안 보관하며, 영상 삭제 cleanup이 끝나면 함께 파기합니다. |
| 재생 위치와 시청 완료 시각영상별 마지막 재생 위치, revision, 시청 완료 시각 | 같은 계정의 여러 기기에서 이어보고 시청 완료 상태를 표시합니다. | 계정과 영상이 유지되는 동안 보관하며, 영상 또는 계정 삭제 시 함께 파기합니다. |
| 접속·오류 기록서비스 보안과 장애 대응에 필요한 요청·접속·오류 정보 | 서비스를 보호하고 장애를 조사·복구합니다. OAuth code, Google token, 앱 token, secret과 같은 민감한 원문은 기록하지 않습니다. | API 서버와 연결 터널의 운영 로그는 서버에 저장하며, 현재 고정 보유기간과 정기 자동 파기 기준은 적용되어 있지 않습니다. |
3. 보유기간과 파기
- 개별 영상 삭제를 확정하면 목록·상세·재생 접근은 즉시 차단됩니다. 원본, 자막, 썸네일, HLS 결과물과 진행률은 저장소 cleanup이 성공한 뒤 hard delete하며 물리 삭제 후에는 복구할 수 없습니다.
- 업로드가 6시간 이상 완료되지 않은 uploading 영상은 cleanup 대상으로 등록됩니다. 이는 staging object의 최대 8일 Lifecycle 정리와 서로 다른 보호·정리 기준입니다.
- 서비스 운영에 필요한 법령상 보존 의무가 새로 적용되면 해당 자료를 목적에 필요한 범위에서 분리 보관하고, 의무 기간이 끝나면 파기합니다.
4. 외부 처리와 국외 처리
아래 주체는 각자의 역할 범위에서 My Tiny TV의 요청·계정·콘텐츠를 처리합니다. Google은 외부 인증 제공자이며, 나머지 처리 환경은 서비스 운영을 위해 이용하는 처리 환경입니다.
| 주체 | 역할 | 처리 업무 |
|---|---|---|
| Google OAuth | 외부 인증 제공자 | 사용자가 Google 로그인 화면에서 인증할 수 있게 하고, My Tiny TV는 인증 결과로 고유 식별자·이메일·표시 이름을 전달받습니다. Google은 자체 개인정보처리방침과 약관에 따라 별도로 처리합니다. |
| Vercel | Web·same-origin BFF 실행 환경 | Web 화면과 BFF를 실행하고 로그인 세션 쿠키 및 BFF 요청을 처리합니다. API·DB·R2 secret은 Vercel Web runtime에 전달하지 않습니다. |
| Supabase | PostgreSQL 데이터베이스 처리 환경 | Google 계정 정보, 영상 metadata·처리 상태, 자막 metadata, 재생 위치와 완료 시각, 토큰 hash를 저장·조회합니다. |
| Cloudflare | private R2 저장소와 Named Tunnel 제공자 | private R2에 원본·자막·썸네일·HLS 결과물을 저장하고, Cloudflare Named Tunnel을 통해 Vercel BFF와 실제 API 실행 환경 사이의 연결을 제공합니다. |
| My Tiny TV API 실행 환경 | API·영상 변환 처리 환경 | 인증된 API를 실행하고 영상 변환·썸네일 추출·자막 정규화와 장애 복구를 수행합니다. 실행 환경에 대한 국가는 배포 전에 확인한 입력값만 공개합니다. |
국외 또는 외부 처리 위치 고지
아래 항목은 운영 설정으로 확인한 국가 또는 공급자의 공식 정책에 따른 처리 위치 설명입니다. 각 항목의 보유기간은 My Tiny TV가 해당 정보를 보유하는 기준이며, Google 등 공급자의 독립적인 보유는 각 공급자의 정책이 적용됩니다.
Google OAuth
- 처리 위치
- Google은 전 세계 서버에서 정보를 처리하며, 사용자 거주 국가 밖에서 처리할 수 있습니다. Google 개인정보처리방침
- 처리 항목
- Google 계정 인증 결과와 고유 식별자·이메일·표시 이름
- 시기
- 사용자가 Google 로그인을 시작하고 OAuth callback이 완료되는 때
- 방법
- OAuth 2.0 승인 코드 방식과 HTTPS
- 목적
- 외부 인증과 계정 식별
- 보유기간
- My Tiny TV가 전달받은 계정 정보는 서비스 이용 중 보관하며, 계정 삭제가 완료되면 지체 없이 파기합니다. Google의 자체 보유 기준은 Google 개인정보처리방침에 따릅니다.
Vercel
- 확인된 국가
- Seoul, South Korean (Northeast)
- 처리 항목
- Web/BFF 요청, 로그인 세션 처리와 인증된 API 요청
- 시기
- 사용자가 Web을 방문하거나 BFF를 통해 요청할 때
- 방법
- HTTPS 요청과 Vercel Web runtime 처리
- 목적
- Web 제공, 세션 유지와 API 중계
- 보유기간
- 세션과 token의 My Tiny TV 보유 기준은 발급 후 15분 동안 유효하며, 만료·로그아웃·계정 삭제 시 더 이상 사용하지 않습니다. 최대 30일 동안 유효하고 로그아웃·rotation·계정 삭제 시 폐기합니다. DB에는 원문이 아닌 hash만 보관합니다.
Supabase
- 확인된 국가
- Northeast Asia (Seoul)
- 처리 항목
- 계정·영상 metadata, 처리 상태, 자막 metadata, token hash와 재생 진행률
- 시기
- 로그인·업로드·처리·재생·삭제 요청을 DB에 반영할 때
- 방법
- 암호화된 연결을 통한 PostgreSQL 저장·조회
- 목적
- 개인 라이브러리와 서비스 상태의 저장·제공
- 보유기간
- 계정·metadata의 My Tiny TV 보유 기준은 서비스 이용 중 보관하며, 계정 삭제가 완료되면 지체 없이 파기합니다. 계정 또는 개별 영상 삭제 요청 전까지 보관합니다. 삭제 요청 즉시 접근을 차단하고, 내구성 있는 저장소 정리가 끝난 뒤 물리적으로 파기합니다.
Cloudflare R2
- 처리 위치
- 설정된 위치 힌트: 아시아 태평양(APAC). 위치 힌트는 실제 저장 국가를 보장하지 않습니다. Cloudflare R2 데이터 위치 안내
- 처리 항목
- 원본 영상, 자막, 썸네일, HLS manifest·segment와 staging object
- 시기
- 업로드·변환·썸네일 추출·자막 처리·비공개 재생과 삭제 cleanup 때
- 방법
- API가 private R2에 TLS로 저장·조회하고 Named Tunnel로 API 연결
- 목적
- 개인 콘텐츠의 private 저장, 변환 결과 제공과 삭제
- 보유기간
- 계정 또는 개별 영상 삭제 요청 전까지 보관합니다. 삭제 요청 즉시 접근을 차단하고, 내구성 있는 저장소 정리가 끝난 뒤 물리적으로 파기합니다. presigned 업로드 권한은 15분이며, DB와 연결되지 않은 staging object는 R2 Lifecycle에 따라 최대 8일 뒤 정리합니다.
My Tiny TV API 실행 환경
- 확인된 국가
- 대한민국
- 처리 항목
- 인증 요청, 계정·영상 처리 요청, 변환 중인 파일과 접속·오류 기록
- 시기
- Vercel BFF가 API를 호출하거나 API가 영상 처리 작업을 실행할 때
- 방법
- Vercel BFF와 HTTPS/Cloudflare Named Tunnel로 통신하며 API가 system ffmpeg를 실행
- 목적
- 인증된 API 제공, 영상 변환·복구와 서비스 보안
- 보유기간
- 계정 또는 개별 영상 삭제 요청 전까지 보관합니다. 삭제 요청 즉시 접근을 차단하고, 내구성 있는 저장소 정리가 끝난 뒤 물리적으로 파기합니다. 접속·오류 기록은 API 서버와 연결 터널의 운영 로그는 서버에 저장하며, 현재 고정 보유기간과 정기 자동 파기 기준은 적용되어 있지 않습니다.
5. 안전성 확보조치
- 보호된 API는 access token을 검증하고, 영상·자막·썸네일·HLS object는 private storage와 owner 확인을 거쳐 제공합니다.
- Web session cookie는 HttpOnly·SameSite 설정을 사용하고 운영 HTTPS에서는 Secure를 사용합니다.
- refresh token은 DB에 hash로 저장하며 rotation·만료·로그아웃으로 폐기합니다.
- BFF는 browser credential과 storage object key를 API 경계 밖으로 전달하지 않으며, 접속·오류 기록에는 token과 secret 원문을 남기지 않습니다.
6. 정보주체 권리와 행사방법
- 개인정보 열람·정정·삭제·처리정지 및 관련 문의는 privacy@squadify.app으로 요청할 수 있습니다.
- 계정 삭제를 요청하면 운영자는 이메일 발신 주소만으로 본인을 확정하지 않고, 등록된 Google 계정 이메일로 확인한 뒤 요청을 처리합니다.
- 삭제 요청이 접수되면 로그인과 새 데이터 생성을 막고, 계정의 토큰·재생 기록·영상과 파생 결과물을 기존의 내구성 있는 cleanup 절차로 정리합니다.
- 요청을 처리하는 데 본인 확인이나 법령상 보존이 필요한 경우 그 범위와 사유를 안내하며, 법령에서 정한 기간 안에 처리 결과를 회신합니다.
개인정보 열람·정정·삭제·처리정지 요청은 privacy@squadify.app으로 보내 주세요.
7. 개인정보 담당과 문의
- 담당 명칭
- My Tiny TV 개인정보 담당
이 처리방침의 시행일은 2026-09-09이며, 최종 변경일은 2026-09-09입니다. 서비스 범위나 처리 방식이 의미 있게 바뀌면 변경 내용을 반영해 다시 공개합니다.