개인정보 처리방침
최종 업데이트: 2026년 10월 14일
한눈에 보기
- 계정도 없고, 당사가 제공하는 콘텐츠도 없습니다. Tunvio는 플레이어입니다. 스트림은 사용자가 직접 입력한 제공자로부터 곧바로 전달됩니다.
- 당사는 사용자의 접속 정보를 요구하지 않습니다. 당사는 비밀번호, 제공자 주소, 채널 이름을 요구하지 않으며 의도적으로 받지도 않습니다. 오류 텍스트는 웹 주소와 접속 정보에 대해 자동으로 필터링되지만, 이 필터링은 완벽할 수 없습니다(제7항). 영화 정보와 자막을 위해 당사 프록시가 보는 것은 식별자 또는 정리된 제목뿐입니다(제8항). 이미지 자체는 TMDB의 이미지 서버에서 곧바로 불러옵니다(제8항). 기기 동기화를 사용하면 프로필은 사용자 자신의 저장소로 갑니다(제10항).
- 사용자가 자발적으로 공유하는 것은 기본적으로 꺼져 있습니다: 사용 데이터 및 오류 보고서, 건너뛰기 지점 공유, 기기 동기화, 기기 연결은 사용자가 직접 켤 때만 작동하며, 언제든지 다시 끌 수 있습니다.
- 당사 자체 서비스는 IP 주소를 저장하지 않으며 접근 로그를 남기지 않습니다(웹 서버
tunv.io에 대해서는 제3항 참조). - 결제는 스토어 또는 RevenueCat을 통해 이루어집니다 – 당사는 결제 데이터를 결코 보지 않습니다.
자세한 내용은 아래와 같습니다.
1. 개인정보 처리자 및 서비스의 성격
"Tunvio" 앱에 대한 GDPR상의 개인정보 처리자는 법적 고지 (https://tunv.io/impressum)에 명시된 Tunvio 프로젝트의 운영자(이하 "당사")입니다. 개인정보 보호 관련 문의: support@tunv.io
Tunvio는 순수하게 재생 앱입니다. 당사는 콘텐츠를 제공하지 않고, 스트림을 호스팅하지 않으며, 미디어 서비스를 운영하지 않습니다. 모든 IPTV 연결은 사용자가 직접 프로필로 입력한 서버(Xtream Codes, M3U 재생목록, 스트림의 직접 URL 또는 Stalker 포털)로 곧바로 연결됩니다. 소스를 선택할 때의 사용자 책임에 관한 안내는 이용 약관(https://tunv.io/terms-of-use)에 있습니다.
2. 사용자 기기의 데이터
Tunvio는 사용자의 기기에 다음을 저장합니다:
- 제공자의 서버 URL, 사용자 이름, 비밀번호와 선택적 프로필 이름을 담은 프로필
- 프로필별 시청 기록, 즐겨찾기, 설정 및 선택적 자녀 보호 PIN
- 캐시로 보관하는 썸네일과 TMDB 메타데이터(제8항)
- 사용자가 만든 경우 다운로드와 녹화물
- 프로필별로, 시리즈의 어느 지점에서 인트로나 엔딩 크레딧을 건너뛰었는지에 관한 기록. 앱이 그 지점에서 '인트로 건너뛰기' 또는 '다음 에피소드'를 제안하는 데 쓰입니다. 공유를 켠 경우에는 아직 전송되지 않은 기여도 포함됩니다(제8항)
- 브라우저 구매 시의 익명 구매 식별자(제5항), 그리고 기기를 연결하는 즉시 가구 식별자와 기기 식별자(제5.1항)
접속 정보, 자녀 보호 PIN, 기기 동기화용 로그인 정보, 연결 식별자는 운영체제의 암호화된 저장소에 보관됩니다. 그러한 저장소가 없는 Samsung TV(Tizen)에서는 앱의 내부 저장소에 보관됩니다. 시청 기록과 즐겨찾기는 설정에서 삭제할 수 있으며, 앱을 삭제하면 모든 것이 제거됩니다.
예외: 직접 지정한 저장 폴더. 녹화물과 다운로드를 위해 별도의 폴더(예: SD 카드)를 선택하면 파일은 그 폴더에 속합니다. 즉, 앱을 삭제해도 그대로 남으며, 폴더와 플랫폼에 따라 다른 앱이 읽을 수도 있습니다. 이 경우 삭제는 사용자가 직접 해야 합니다. 당사는 어떤 경우에도 이 파일에 접근할 수 없습니다.
당사는 이 데이터를 받지 않습니다. 예외는 사용자가 직접 켜는 두 가지뿐입니다. 기기를 연결하면 당사의 연결 서비스가 가구 식별자와 기기 식별자를 저장합니다(제5.1항). 건너뛰기 지점을 공유하면 모아 둔 기여가 프로필이나 제공자와의 연결 없이 당사의 건너뛰기 지점 서비스로 전송됩니다(제8항). 기기 동기화를 사용하면 프로필, 시청 기록, 즐겨찾기, 설정은 당사가 아니라 사용자 자신의 저장소로 갑니다(제10항).
3. 당사 자체 서버
일부 기능은 당사가 직접 운영하는 서버를 사용합니다: 기기 연결(pair.tunv.io), 오류 보고(diag.tunv.io), 메타데이터와 건너뛰기 지점(tmdb.tunv.io), 자막(subs.tunv.io), 업데이트 조회 및 법적 문서(tunv.io).
- 위치: 기기 연결, 오류 보고, 메타데이터 프록시, 건너뛰기 지점은 독일에 있는 당사 서버에서 실행됩니다. 기기 연결, 오류 보고, 건너뛰기 지점에는 수탁처리자가 관여하지 않으며, 제3국으로의 이전도 발생하지 않습니다.
- IP 저장 없음: 기기 연결, 오류 보고, 메타데이터, 건너뛰기 지점, 자막 서비스는 접근 로그를 남기지 않습니다. 사용자의 IP 주소는 요청을 전달하는 데에만 필요하며, 저장되지 않고, 어떤 식별자와도 연결되지 않으며, 제3자에게 전달되지도 않습니다.
- 웹 서버
tunv.io(업데이트 조회, 법적 문서)는 웹사이트의 일반 웹 서버이며, 통상적인 단기 접근 기록(IP 주소, 시각, 요청된 파일)을 보관할 수 있습니다. 앱은 이러한 요청과 함께 식별자나 프로필 데이터를 보내지 않습니다. - 오남용 방지: 요청 빈도를 제한하고 자동화된 조회를 막기 위해 기기 연결, 메타데이터, 건너뛰기 지점, 자막에서는 IP 주소가 도착 즉시 수명이 짧은 가명으로 변환됩니다. 그 키는 주기억장치에만 존재하며 정기적으로 교체되고, 교체된 뒤에는 가명을 어떤 주소와도 더 이상 대응시킬 수 없습니다. 진단 서버는 이를 위해 주소를 주기억장치에 일시적으로만 보관합니다. 법적 근거는 안전한 운영에 대한 당사의 정당한 이익입니다(GDPR 제6조 제1항 (f), 전문 제49항).
4. 사용자의 IPTV 제공자로의 연결
Tunvio는 사용자가 입력한 서버에 직접 연결합니다. 그 서버가 어떤 데이터를 처리하는지는 당사가 아니라 제공자의 책임입니다. 제공자의 개인정보 처리방침을 확인하십시오.
캐스팅. Chromecast 또는 DLNA 기기로 캐스팅하는 경우(제공되는 경우), 앱은 스트림 주소 — 여기에는 제공자의 주소와, Xtream의 경우 사용자의 접속 정보가 포함됩니다 — 를 로컬 네트워크를 통해 그 기기로 전달합니다. 그러면 기기가 제공자로부터 스트림을 직접 불러옵니다. 기기에 포스터가 표시되는 경우 TMDB 이미지의 주소도 함께 전달될 수 있으며, 그러면 기기가 image.tmdb.org에서 그 이미지를 직접 불러옵니다(제8항). 이 중 어느 것도 당사 서버를 거치지 않습니다.
4.1 재생 진단('무엇이 문제인가요?')
재생이 끊기거나 실패하면 Tunvio는 그 원인을 자동으로 확인합니다. 이를 위해 제공자의 서버에 몇 가지 짧은 테스트 요청(이름 확인, 연결 수립, 암호화 연결, 스트림의 짧은 수신, 그리고 Xtream 및 Stalker의 경우 저장된 접속 정보를 사용한 계정 인터페이스 호출)을 보냅니다. 즉, 재생할 때와 같은 연결입니다. 또한 앱은 기기에서 VPN 또는 필터 앱이 활성화되어 있는지, 네트워크가 인터넷 연결을 보고하는지, 개인 DNS가 설정되어 있는지를 확인합니다. 결과는 사용자가 오류 보고와 함께 보내지 않는 한 기기에만 남습니다(제7.1항).
'더 자세히 확인'. 사용자가 이를 탭할 때만(그리고 개인 DNS가 활성화되어 있지 않을 때만) Tunvio는 Cloudflare에, 대체 수단으로 Google Public DNS에 암호화된 연결로 제공자의 서버 이름이 알려져 있는지 문의합니다. 전송되는 것은 이 서버 이름뿐이며, 접속 정보, 경로, 기기 식별자는 전송되지 않습니다. 다만 모든 연결과 마찬가지로 해당 서비스는 사용자의 IP 주소를 보게 됩니다. 결과는 사용자가 오류 보고와 함께 보내지 않는 한 기기에만 남습니다(제7.1항). 법적 근거는 사용자의 요청입니다(GDPR 제6조 제1항 (b) 또는 (f)). Cloudflare(cloudflare.com/privacypolicy) 또는 Google(policies.google.com/privacy)의 개인정보 처리방침이 적용되며, 미국으로의 전송이 이루어질 수 있습니다.
5. 구매 및 구독
프리미엄 기능은 선택 사항입니다. 아무것도 판매되지 않는 곳(예: Samsung TV)에서는 이를 위해 전송되는 데이터가 없습니다.
- 스토어를 통한 구매: 앱을 Apple App Store, Google Play 또는 Amazon Appstore에서 받은 경우 결제는 해당 스토어가 처리합니다.
- 브라우저에서의 구매: 스토어 밖에서 배포되는 버전(예: 데스크톱)에서는 앱이 결제 페이지를 엽니다(제공: RevenueCat, Inc.). 그곳에 입력하는 내용은 RevenueCat과, 결제를 처리하는 그 결제 서비스 제공자가 받습니다.
- 두 경우 모두 당사는 결제 데이터를 받거나 저장하지 않습니다.
- 구독 관리: 구매가 활성 상태인지 확인하기 위해 RevenueCat, Inc. (미국)를 사용합니다. RevenueCat은 앱으로부터 익명의 무작위로 생성된 사용자 ID와 이용한 구매 경로의 구매 영수증을 받습니다. 이름과 결제 정보는 받지 않으며, 이메일 주소는 결제 페이지를 미리 채우는 용도로만 받습니다(아래 참조). 개인정보 고지:
https://www.revenuecat.com/privacy - 브라우저 구매의 복원: 계정이 없으므로 브라우저 구매는 결제 시 사용한 이메일 주소를 통해 다른 기기에서 복원합니다. 앱은 이 주소를 사용자의 기기에서 파생된 식별자(해시)로 변환하며, 조회에는 이 식별자만 사용되고 기기에 남습니다. 주소 자체는 영구적으로 저장되지 않습니다. 이후 결제 페이지를 다시 열면 주소가 그곳에 미리 채워집니다.
법적 근거는 계약의 이행입니다(GDPR 제6조 제1항 (b)).
5.1 여러 기기에서의 프리미엄(기기 연결)
프리미엄을 구매했다면 다른 기기에서도 사용할 수 있습니다. 결제한 기기가 여덟 자리 코드를 표시하면 이를 다른 기기에 입력합니다. 그러면 두 기기는 무작위로 생성된 공통 구매 신원을 가진 하나의 가구(최대 7대)에 속하게 됩니다. 이는 당사 서비스 pair.tunv.io(제3항)를 통해 이루어집니다. 앱은 사용자가 코드를 표시하게 하거나 입력할 때만 이 서비스에 접속하며, 자동으로나 백그라운드에서 접속하는 일은 결코 없습니다.
가구별로 저장되는 것은 다음뿐입니다: 기기마다 앱이 생성한 무작위 기기 식별자(운영체제의 식별자, 광고 ID, 일련번호, MAC 주소가 아닙니다), 표시 이름으로 쓰이는 기기 모델(예: "Pixel 8", 알 수 없으면 "Samsung TV" 같은 기기 종류), 연결 시점, 무작위 가구 식별자, 가구가 생성된 시점, 코드가 한 번이라도 사용되었는지 여부, 그리고 요청된 코드의 일일 카운터. 코드 자체는 10분 동안 유효하며 그 뒤 삭제됩니다. 사용되면 즉시 소진됩니다.
이것은 당사 자체 서버 중 영구적인 기기 식별자를 저장하는 유일한 서버입니다. 그렇지 않으면 기기를 지울 수 있는 기기 목록을 만들 수 없기 때문입니다.
저장되지 않는 것: IP 주소, 이메일 주소, 이름 또는 계정. 구매에 관한 것도 저장되지 않습니다(코드를 요청할 때 앱은 기존 가구를 알아볼 수 있도록 구매 신원을 함께 보내지만, 개별 설치본의 익명 식별자는 폐기되며 이용 권한도 확인하지 않습니다). 프로필, 제공자, 채널, 제목에 관한 것도 저장되지 않습니다. 서비스의 로그에는 코드도 식별자도 남지 않습니다.
연결 후의 RevenueCat: 제5항의 사용자 ID는 이제 가구의 모든 기기에서 동일하며, 바로 무작위 가구 식별자입니다.
보관 기간과 삭제: 연결된 기기는 사용자가 지울 때까지 저장되며, 자동 만료는 없습니다. 설정 → 프리미엄에서 가구의 모든 기기를 보고 어느 것이든 지울 수 있습니다. 항목은 즉시 삭제되며, 마지막 기기가 지워지면 가구도 삭제됩니다. 자신의 기기를 지우면 그 기기는 다시 고유한 구매 신원을 갖게 됩니다. 자동 만료가 없다는 원칙의 유일한 예외: 코드가 한 번도 사용되지 않은 연결 시도는 30일 후 삭제됩니다.
법적 근거는 사용자의 동의(GDPR 제6조 제1항 (a))로, 코드를 표시하게 하거나 입력함으로써 동의하고 기기를 지움으로써 철회합니다.
6. Firebase (Google) – 분석 및 오류 보고
Android 및 iOS에서만 Tunvio는 Google Ireland Ltd. / Google LLC의 Firebase를 사용하며, 그것도 사용자의 동의가 있을 때만 사용합니다. 두 기능 모두 기본적으로 꺼져 있습니다. 첫 실행 시 여쭤보며, 거절하시면 최대 한 번만 더 여쭤봅니다.
- Firebase Analytics: 앱을 개선하기 위한 가명화된 사용 통계(예: 조회한 화면, 기기 및 앱 버전, 대략적인 지역)로, 가명화된 식별자를 통해 분석됩니다.
- Firebase Crashlytics: 충돌을 수정하기 위한 충돌 및 오류 보고서(오류가 발생한 프로그램 위치에 관한 기술 정보, 기기 및 앱 버전).
당사는 이 보고서에 접속 정보, 비밀번호, 프로필 이름, 재생 주소를 추가하지 않습니다. 시스템 또는 사용된 라이브러리가 생성한 오류 텍스트는 그대로 Crashlytics로 전달되며 당사가 필터링하지 않습니다. 이러한 텍스트에는 서버 주소나 웹 주소가 포함될 수 있습니다. 충돌 보고서에는 짧은 상태 설명도 포함됩니다: 동기화 단계, 메모리 사용량과 가장 긴 멈춤, 프로필 종류, 카탈로그의 크기 등급, 그리고 10 % 단위의 메타데이터 조회 진행률. 미국으로의 전송이 이루어질 수 있으며, Google은 이에 대해 EU 표준 계약 조항에 의존합니다. 개인정보 고지: https://policies.google.com/privacy
법적 근거는 사용자의 동의입니다(GDPR 제6조 제1항 (a), TDDDG 제25조 제1항). 동의는 설정 → 데이터 및 저장 공간 → '사용 데이터 및 오류 보고서' 스위치로 언제든지 철회할 수 있으며, 즉시 효력이 발생합니다.
7. 자체 오류 보고 (diag.tunv.io)
'사용 데이터 및 오류 보고서' 스위치에는 당사 진단 서버(제3항)로 보내는 자동 오류 보고도 연결되어 있습니다. 이 보고는 TV와 데스크톱을 포함한 모든 플랫폼에서 작동합니다. 사용자의 동의 없이는 아무것도 전송되지 않습니다.
목적은 오직 오류 수정입니다. 오류를 발견하고, 같은 종류끼리 묶고, 수정하며, 수정이 효과가 있는지 확인하는 것입니다. 이용 분석, 프로파일링, 광고는 없습니다.
다음 데이터만 전송됩니다:
- 오류의 종류와 분류(예: 재생·로그인·동기화 오류, 비정상 종료, 멈춘 사용자 인터페이스; 시간 초과, 디코더 오류, 연결 한도; 해당하는 경우 HTTP 상태 코드를 숫자로)
- 기술적 상황: 재생 엔진과 디코딩 단계, 콘텐츠 종류 또는 범위(실시간, 영화, 시리즈, 프로그램 가이드, 다운로드; 동기화, Cast, 내보내기 오류의 경우 대상 또는 원인의 종류도 포함하며, 예를 들어 선택한 동기화 저장소), 프로필 종류(제공자가 아님), 그리고 결합 프로필의 경우 소스 중 하나, 일부 또는 전부가 영향을 받았는지 여부
- 앱 버전과 빌드 종류, 플랫폼, 운영체제 주 버전, 기기 모델, 언어 및 지역 설정, 그리고 대략적인 등급으로 표시한 기기의 메모리 사양
- 멈춤 및 일부 재생 오류의 경우: 직전 몇 초 동안 앱이 키 입력 처리로 얼마나 바빴는지(대략적인 수준: 낮음, 중간 또는 높음)와 어떤 종류의 내부 백그라운드 작업이 실행 중이었는지(예: 카탈로그 또는 프로그램 가이드 읽기) — 작업의 종류만이며, 파일, 주소, 프로필, 개수는 결코 포함하지 않음
- 이전 세션이 강제로 종료된 경우 운영체제가 알려 준 종료 유형(예: "응답 없음"); 시스템이 종료 유형을 알려 주지 못한 경우에는 그 이유(이용 가능한 기록이 없음, 또는 해당하는 기록이 없음)와, 마지막 작동 징후와 가장 가까운 시스템 기록 사이의 대략적인 시간 등급(분, 시간 또는 일)
- 앱 시작이 느리거나 실패한 경우: 어느 시작 단계가 가장 느렸거나 실패했는지(고정된 내부 이름)와 시작에 걸린 시간(밀리초); 안전 모드 시작이 열리는 경우에는 그것이 어떻게 촉발되었는지와 최근에 완료되지 못한 시작에 관한 작은 카운터 값
- 비정상 종료 및 시스템이 강제로 끝낸 멈춤의 경우, 오류가 발생한 프로그램 위치에 관한 기술 정보, 민감한 부분을 제거한 오류 메시지, 앱 화면의 이름(예: "플레이어" — 콘텐츠는 결코 포함하지 않음). 메모리 및 연결 관련 비정상 종료의 경우 메시지에는 짧은 상태 줄도 포함됩니다: 동기화 단계, 앱의 메모리 사용량(메가바이트), 프로필 종류(소스 수는 결코 아님), 가장 긴 멈춤(밀리초), 10 % 단위의 메타데이터 조회 진행률, 그리고 카탈로그와 해당 조회의 크기 등급만(예: "3,000개에서 10,000개 항목") — 정확한 개수는 결코 포함하지 않음
- 기기 시계에서 읽은 이벤트 발생 시각(대기 중인 보고의 순서를 정하는 데 사용되며, 보고와 함께 저장됨)
- 매일 새로 무작위 생성되는 일일 식별자. 같은 날의 보고를 서로 연결하며, 여러 날에 걸쳐 기기를 다시 알아볼 수는 없습니다. 기기 ID나 설치 ID는 존재하지 않습니다.
설계상 수집하지 않는 것: 채널·영화·시리즈 제목, 검색어, 프로필 이름과 사용자 이름, 비밀번호 및 기타 접속 정보, MAC 주소와 일련번호. 자유 형식의 오류 텍스트는 주소와 접속 정보에 대해서만 필터링됩니다. 주소: 웹 주소, IP 주소, 접속 정보처럼 보이는 문자열은 전송 전에 기기에서 마스킹되며, 주소 없이 적힌 서버 이름은 당사 서버가 두 번째 단계에서 제거합니다. 이 단계는 모든 서버 이름을 알아볼 수는 없습니다(제7.1항). 따라서 재생 및 서버 주소는 기기에서 마스킹되고, 알아볼 수 있는 범위에서 서버에서 제거됩니다.
법적 근거는 사용자의 동의(GDPR 제6조 제1항 (a), TDDDG 제25조 제1항)이며, 제6항과 같은 방법으로 철회할 수 있습니다. 보관 기간: 개별 보고는 90일 후 삭제됩니다. 그 뒤에는 오류 유형별 집계 수치(건수, 최초 및 최종 발생, 영향을 받은 버전)만 남으며, 이는 개별 보고나 기기와 연결되지 않습니다. 열람과 삭제에 관해서는 제12항을 참조하십시오.
7.1 사용자가 직접 보내는 오류 보고
설정 → '문제 신고' 메뉴에서, 또는 플레이어에서 '무엇이 문제인가요?' → '문제 신고'를 통해 사용자가 직접 보고를 보낼 수 있습니다. 보고는 사용자가 보낼 때만 기기를 떠나며(버퍼에 저장되지 않고 나중에 다시 전송되지도 않습니다), '사용 데이터 및 오류 보고서' 스위치와는 무관합니다. 전송 대화상자는 자동 보고를 켜도록 제안하지만, 이는 자발적이며 미리 선택되어 있지 않습니다.
전송되는 내용: 사용자가 작성한 텍스트, 최근 프로그램 오류를 포함한 해당 세션의 기술 로그(보내기 전에 '무엇이 전송되나요?' 화면에서 확인할 수 있습니다), 문제의 종류, 앱 버전, 빌드 종류, 플랫폼, 운영체제 주 버전, 기기 모델, 언어 및 지역 설정, 재생 엔진, 프로필 종류, 프리미엄 활성화 여부, 기기 시계에서 읽은 보고 시각, 그리고 플레이어에서 보낸 보고의 경우 제4.1항의 진단 결과를 짧은 값으로(서버 이름, IP 주소, 접속 정보 제외).
텍스트와 로그에서는 전송 전에 기기에서 다음이 자동으로 마스킹됩니다: 웹 주소(https:// 같은 스킴이 붙은 모든 것), IPv4 주소, 이메일 주소, 접속 정보처럼 보이는 문자열(예: password=… 또는 user:pass@host). 당사 서버는 이를 반복하며, 주소 없이 적힌 서버 이름도 제거합니다. 이는 모든 서버 이름을 알아볼 수는 없는 두 번째 단계입니다. 그래도 텍스트에 비밀번호는 적지 마십시오. 일반적인 문장 속의 비밀번호는 자동 제거로 알아낼 수 없습니다.
보고에는 사용자의 기기와 연결되는 식별자가 없으며, 사용자에게 표시되는 무작위 접수번호만 붙습니다. 이 번호로 support@tunv.io에 열람 또는 삭제를 요청할 수 있습니다. 법적 근거는 전송을 통한 사용자의 동의입니다(GDPR 제6조 제1항 (a)). 보관 기간: 90일.
8. 메타데이터와 이미지 (TMDB)
Tunvio는 The Movie Database(TMDB)의 설명, 평점, 로고, 포스터, 연령 등급으로 영화와 시리즈를 보강합니다. 이는 카탈로그 표시의 일부이며 별도의 스위치가 없습니다. 캐시된 메타데이터는 설정 → 데이터 및 저장 공간에서 삭제할 수 있습니다.
설명, 평점, 이미지 주소는 TMDB로 직접 가지 않고 당사 프록시 tmdb.tunv.io(제3항)를 통해 요청됩니다. 전송되는 것은 요청에 필요한 정보뿐입니다. 검색 시에는 정리된 제목과 경우에 따라 출시 연도, 그 밖에는 TMDB ID와, 시즌의 경우 시즌 번호입니다. 또한 모든 요청에는 앱 언어가, 스트리밍 제공 여부 조회의 경우에는 사용자 기기의 지역이 함께 포함됩니다. 어떤 에피소드를 보고 있는지와 그 길이는 전송되지 않으며, 프로필, 접속 정보, 재생 데이터도 전송되지 않습니다. 결과는 프록시와 사용자의 기기에 캐시됩니다.
이미지 파일 자체는 TMDB에서 곧바로 받아옵니다. 포스터, 배경 이미지, 제목 로고, 에피소드 스틸 이미지, 스트리밍 서비스 로고, 출연진과 제작진의 사진은 당사 프록시를 거치지 않고 사용자의 기기가 TMDB의 이미지 서버 image.tmdb.org에서 불러옵니다. 따라서 TMDB는 사용자의 IP 주소, 기기가 보내는 User-Agent(활성 프로필에 설정된 것이며, 기본값은 일반적인 미디어 플레이어 문자열), 그리고 요청된 이미지의 파일 경로를 받습니다. 이 파일 경로로 해당 포스터나 사진이 특정됩니다(이 경로와 사용자의 IP 주소로 TMDB는 어떤 작품이 표시되는지 알 수 있습니다). 그러나 접속 정보, 프로필, 재생 데이터는 받지 않습니다. 이는 이미지가 기기에 (더 이상) 저장되어 있지 않을 때마다(캐시된 이미지는 약 일주일 동안 보관됩니다), 프록시가 작품의 이미지 주소를 돌려준 즉시 발생하며, 메타데이터와 마찬가지로 별도의 스위치가 없습니다. TMDB가 이 데이터로 무엇을 하는지는 TMDB 자체의 개인정보 처리방침에 따르며, 당사는 이에 영향을 미칠 수 없습니다.
예고편. 예고편을 탭하면(Samsung TV에서는 제외) 앱은 YouTube 앱 또는 브라우저를 엽니다. 이는 Tunvio 밖에서 이루어지는 사용자의 행위이며, 그 시점부터는 YouTube(Google)의 개인정보 처리방침이 적용되고 영상의 주소가 그쪽으로 전달됩니다.
공유된 건너뛰기 지점 조회. 시리즈 에피소드를 재생하면 Tunvio는 같은 프록시를 통해 다른 시청자가 이 시즌의 인트로와 엔딩 크레딧 지점을 기여했는지 조회합니다(아래 참조). 전송되는 것은 TMDB ID와 시즌 번호뿐이며, 에피소드, 재생 시간, 제목은 전송되지 않습니다. 해당 에피소드는 앱이 사용자의 기기에서 골라냅니다. 제공되는 것은 버튼이며, 자동으로 건너뛰는 일은 없습니다.
이 모든 것의 법적 근거는 편리한 표시와 재생에 대한 당사의 정당한 이익입니다(GDPR 제6조 제1항 (f)). 사용자는 반대할 수 있습니다(GDPR 제21조). 메타데이터 및 이미지 요청에 대해서는 support@tunv.io로, 건너뛰기 지점 조회에 대해서는 설정 → 데이터 및 저장 공간의 '공유된 건너뛰기 지점 표시' 스위치로 반대할 수 있습니다. TMDB 자체에는 해당 약관 (https://www.themoviedb.org/privacy-policy)이 적용되며, 당사는 TMDB와 아무런 제휴 관계가 없습니다.
Tunvio 프록시를 통한 온라인 자막 (OpenSubtitles)
온라인 자막을 검색하면(또는 자동 불러오기를 켜면 — 기본값은 꺼짐) 요청은 당사 프록시 subs.tunv.io(제3항)를 거칩니다. 전송되는 것은 작품의 TMDB 또는 IMDB ID(없을 경우 정리된 제목, 연도, 시즌 및 에피소드 번호)와 원하는 언어뿐이며, 프로필, 접속 정보, 재생 데이터는 전송되지 않습니다. 프록시는 당사의 계정으로 OpenSubtitles에 조회하므로 사용자는 별도의 계정이 필요 없습니다. 자막은 프록시와 사용자의 기기에 캐시됩니다. 법적 근거는 당사의 정당한 이익입니다(GDPR 제6조 제1항 (f)). OpenSubtitles에는 해당 개인정보 처리방침(https://www.opensubtitles.com)이 적용되며, 당사는 OpenSubtitles와 아무런 제휴 관계가 없습니다.
공유된 건너뛰기 지점 (선택 사항)
사용자는 공유된 건너뛰기 지점에 자발적으로 기여할 수 있습니다. 인트로를 건너뛰거나 엔딩 크레딧에서 다음 에피소드로 넘어가면, Tunvio는 그 지점을 개인과의 연결 없이 당사가 독일에서 직접 운영하는 서비스 tmdb.tunv.io/skip으로 보냅니다.
동의가 있을 때만. 공유는 기본적으로 꺼져 있으며 '사용 데이터 및 오류 보고서' 스위치와는 무관합니다. 처음으로 인트로를 건너뛴 뒤 앱은 작은 안내로 묻습니다. 답하지 않으면 꺼진 상태로 유지되며, 답하지 않은 안내가 세 번이 되면 더 이상 묻지 않습니다. 동의는 이 기기에만 적용되며 기기 동기화를 통해 다른 기기로 옮겨지지 않습니다.
기여 하나당 전송되는 정보는 다음뿐입니다: 인트로인지 엔딩 크레딧인지, 시리즈의 TMDB ID, 시즌 및 에피소드 번호, 에피소드의 재생 시간, 건너뛰기 지점(인트로의 경우 건너뛰기를 시작한 위치와 도착한 위치, 엔딩 크레딧의 경우 다음 에피소드로 넘어간 위치). 각 값은 초 단위로 반올림됩니다.
전송되지 않는 것: 제목, 제공자, 프로필, 시청한 시각, 그리고 어떠한 기기·설치·일일 식별자도 전송되지 않습니다. 이미 공유된 지점을 통해 실행한 건너뛰기는 다시 보내지 않습니다.
즉시가 아니라 모아서. 기여는 사용자의 기기에 모아 두었다가(에피소드와 종류마다 가장 최근의 것 하나만) 하루에 최대 한 번 보냅니다.
IP 주소. IP 주소는 저장되지 않습니다(제3항). 한 기기가 에피소드마다 하루에 한 번만 반영되도록, 추가로 가명과 에피소드로 만든 암호화된 값이 다음 키 교체 때까지 유지된 뒤 폐기됩니다. 주소도 가명도 기여에 기록되지 않습니다(정당한 이익, GDPR 제6조 제1항 (f)).
저장과 공개. 저장되는 것은 위에 적은 값과 수신 날짜(시각 제외)입니다. 지점은 서로 다른 날에 들어온 여러 독립적인 기여가 일치할 때에야 비로소 다른 사람에게 표시되며, 그때에도 기여 수와 함께 중간값(중앙값)으로만 표시되고 개별 기여는 결코 표시되지 않습니다. 개별 기여는 180일 후 완전히 삭제됩니다. 그 뒤에는 이미 공개된 지점만 중앙값과 기여 수 및 수신 일수의 형태로 남으며, 나중에 충분한 새 기여가 이와 어긋나면 이 지점도 삭제됩니다.
법적 근거는 사용자의 동의입니다(GDPR 제6조 제1항 (a), TDDDG 제25조 제1항). 설정 → 데이터 및 저장 공간 → '건너뛰기 지점 공유' 스위치로 언제든지 철회할 수 있습니다. 그 이후로는 아무것도 전송되지 않으며, 아직 전송되지 않은 기여는 삭제됩니다. 공유된 지점의 조회에는 영향이 없습니다. 전송된 기여에는 식별자가 없으므로, 당사는 이를 사용자에게 귀속시키거나, 열람하게 하거나, 개별적으로 삭제할 수 없습니다(GDPR 제11조, 제12항 참조).
9. 업데이트 조회 (tunv.io)
Android 및 iOS에서 Tunvio는 실행 시와 수동 확인 시 https://tunv.io/app/config.json에서 구성 파일을 가져옵니다(제3항). 이 파일에는 앱에 관한 정보만 들어 있습니다. 즉, 현재 버전과 지원되는 최소 버전, 그리고 다운로드 또는 스토어 주소입니다. 프로필, 제공자, 콘텐츠에 관한 정보는 전송되지 않으며, IP 주소에 관해서는 제3항을 참조하십시오. 법적 근거는 안전하고 최신인 앱에 대한 당사의 정당한 이익입니다(GDPR 제6조 제1항 (f)).
스토어 밖의 Android에서 업데이트를 직접 설치하는 경우, 앱은 이 구성 파일에 명시된 주소에서 설치 파일을 다운로드할 수 있습니다. 그러면 그 서버가 사용자의 IP 주소와 통상적인 요청 데이터를 받습니다.
법적 문서. 앱에서 개인정보 처리방침, 이용 약관, 법적 고지 또는 접근성 선언문을 열면 Tunvio는 모든 플랫폼에서 https://tunv.io/legal/에서 최신 버전을 불러오려고 시도합니다(제한 시간 6초). 실패하면 앱에 포함된 사본이 표시됩니다. 파일 요청만 이루어지며 프로필이나 콘텐츠에 관한 정보는 전송되지 않습니다. IP 주소에 관해서는 제3항을 참조하십시오. 법적 근거는 최신 텍스트를 보여 주는 데 대한 당사의 정당한 이익입니다(GDPR 제6조 제1항 (f)).
10. 기기 동기화 (iCloud / Google Drive / OneDrive / WebDAV)
선택적으로 Tunvio는 프로필, 즐겨찾기, 시청 기록, 설정을 사용자의 여러 기기 간에 동기화합니다. 이 기능은 기본적으로 꺼져 있으며, 설정 → 기기 동기화에서 연결하고 어떤 범주를 포함할지 선택합니다. 당사는 동기화 서버를 운영하지 않으며 이 데이터를 결코 받지 않습니다. 데이터는 사용자가 선택한 저장소로 곧바로 전송됩니다:
- iCloud(iOS) 또는 Google Drive(Android): 사용자 자신의 계정 안에 있는, 다른 앱이 읽을 수 없는 비공개 앱 영역에 저장됩니다.
- Microsoft OneDrive: 기기 코드를 통해 Microsoft에 직접 로그인하며, 비밀번호는 앱에 입력하지 않습니다. 이때 Microsoft는 OneDrive 파일에 대한 접근 권한을 요청합니다. 앱이 자체 폴더를 만들 수 있도록 Microsoft가 요구하는 것이며, 사용되는 것은 그 폴더뿐입니다. 이 접근 권한은
account.live.com/consent/Manage에서 철회할 수 있습니다. - WebDAV: 사용자가 선택한 서버로, 예를 들어 본인의 Nextcloud나 NAS입니다. 주소와 로그인 정보는 사용자의 기기에 남습니다(제2항).
프로필(서버 URL, 사용자 이름)과 자녀 보호 PIN도 함께 전송됩니다. IPTV 계정의 비밀번호는 업로드되지 않습니다. 새 기기에서 한 번 입력하면 됩니다. 다만 M3U, 직접 URL, Stalker 프로필에서는 접속 정보가 주소 자체(재생목록 URL 또는 MAC 주소)에 포함되어 있으므로 함께 전송됩니다.
연결을 해제한 뒤에도 동기화 파일은 사용자가 삭제할 때까지 저장소에 남습니다(iCloud: 설정 → 사용자 이름 → iCloud → 저장 공간 관리; Google Drive: 설정 → 앱 관리 → 숨겨진 앱 데이터 삭제; OneDrive: 앱 폴더 삭제; WebDAV: 본인 서버에서 해당 파일 삭제).
법적 근거는 사용자의 동의(GDPR 제6조 제1항 (a))이며, 연결함으로써 동의하고 연결을 해제함으로써 철회합니다. Apple(https://www.apple.com/legal/privacy), Google(https://policies.google.com/privacy), Microsoft (https://privacy.microsoft.com/privacystatement)의 개인정보 처리방침 또는 사용자의 WebDAV 서버 운영자의 조건이 적용됩니다.
홈 네트워크(LAN)에서의 동기화
추가로 또는 대안으로, 기기들은 로컬 네트워크에서 직접 데이터를 맞출 수 있습니다. 클라우드 동기화가 없는 TV에서도 가능합니다. 이 기능 역시 기본적으로 꺼져 있습니다. 여섯 자리 PIN으로 기기를 한 번 페어링하면, 그 뒤 기기들은 데이터를 종단 간 암호화하여 직접 주고받으며, 키는 사용자의 기기에만 있습니다. 외부 저장소가 관여하지 않으므로 여기서는 비밀번호도 함께 전송됩니다. 서버도, 인터넷 연결도, 제3자도 없습니다. 법적 근거는 사용자의 동의(GDPR 제6조 제1항 (a))이며, 페어링을 해제하거나 기능을 끄면 철회됩니다.
11. 수신자 한눈에 보기
| 서비스 | 목적 | 플랫폼 | 개인정보 |
|---|---|---|---|
| 사용자의 IPTV 제공자 | 스트림 | 전체 | 제공자 |
| Apple App Store / Google Play / Amazon Appstore | 결제 | iOS / Android | Apple / Google / Amazon |
| RevenueCat, Inc. | 구독 관리, 브라우저 결제 페이지 | iOS / Android / 데스크톱 | revenuecat.com/privacy |
| Google Firebase | 분석, 오류 보고(동의 시) | iOS / Android | policies.google.com/privacy |
| Cloudflare / Google Public DNS | '더 자세히 확인'(탭할 때만, 서버 이름만) | 전체 | cloudflare.com/privacypolicy / policies.google.com/privacy |
| TMDB | 영화 및 시리즈 메타데이터(당사 프록시 경유); 포스터, 로고, 사진(image.tmdb.org에서 직접) | 전체 | themoviedb.org |
| OpenSubtitles | 온라인 자막(당사 프록시 경유) | 전체 | opensubtitles.com |
| Apple iCloud / Google Drive | 기기 동기화(선택 사항, 본인 계정) | iOS / Android | Apple / Google |
| Microsoft OneDrive | 기기 동기화(선택 사항, 본인 계정) | 사용자 선택에 따름 | privacy.microsoft.com |
| 사용자가 선택한 WebDAV 서버 | 기기 동기화(선택 사항) | 사용자 선택에 따름 | 해당 서버 운영자 |
| 당사 서버(제3항) | 기기 연결, 오류 보고, 메타데이터, 건너뛰기 지점, 자막, 업데이트 조회, 법적 문서 | 전체(업데이트 조회는 Android / iOS만) | 본 방침 |
12. 사용자의 권리
GDPR에 따라 사용자는 열람, 정정, 삭제, 처리 제한, 데이터 이동성 및 반대의 권리와 개인정보 보호 감독 기관에 불만을 제기할 권리를 가집니다. 이를 위해 support@tunv.io로 문의하십시오. 동의는 설정에서 직접 언제든지 장래에 대하여 철회할 수 있으며, 로컬 데이터는 설정에서 또는 앱을 삭제하여 직접 삭제할 수 있습니다.
반대권(GDPR 제21조). 당사가 정당한 이익에 근거하여 데이터를 처리하는 경우(제3항, 제4.1항, 제8항, 제9항), 사용자는 자신의 특별한 상황에서 비롯되는 사유로 언제든지 support@tunv.io로 이메일을 보내 반대할 수 있습니다. 공유된 건너뛰기 지점 조회에 대해서는 '공유된 건너뛰기 지점 표시' 스위치로 충분합니다.
당사가 사용자에게 귀속시킬 수 없는 데이터(GDPR 제11조). 자동 오류 보고(제7항)와 공유된 건너뛰기 지점(제8항)에는 당사가 이를 특정인이나 특정 기기에 귀속시킬 수 있는 식별자가 의도적으로 없습니다. 당사는 그 안에서 사용자를 식별할 수 없으며, 그 범위에서 GDPR 제15조부터 제20조까지의 권리는 적용되지 않습니다. 다만 사용자가 귀속을 가능하게 하는 추가 정보를 제공하는 경우는 예외입니다(GDPR 제11조 제2항). 동의 철회권과 불만 제기권은 영향을 받지 않습니다. 다음의 경우는 다릅니다:
- 사용자가 직접 보낸 오류 보고: 접수번호로 해당 보고를 찾아 삭제합니다(제7.1항).
- 기기 연결: 여기서도 당사는 이름이나 계정을 저장하지 않지만, 사용자는 설정 → 프리미엄에서 가구의 전체 기록을 보고 항목을 직접 삭제할 수 있습니다(제5.1항).
13. 변경
앱이 변경되면 당사는 본 방침을 수정합니다. 최신 버전은 https://tunv.io/privacy-policy 및 앱 내 설정 → 정보 → 개인정보 처리방침에서 확인할 수 있습니다.
이 웹사이트: 방문자 통계
이 항목은 앱이 아니라 웹사이트 tunv.io에만 적용됩니다. 앱에는 웹사이트 통계가 포함되어 있지 않으며, 앱이 처리하는 내용은 위에 설명되어 있습니다.
당사는 웹사이트 방문을 Umami로 집계합니다. Umami는 당사가 자체 서버(stats.tunv.io)에서 직접 운영하는 통계 소프트웨어입니다. 데이터를 받는 서비스 제공자는 없습니다.
- 집계되는 것: 방문한 페이지, 유입 경로(리퍼러), 브라우저, 운영체제, 기기 유형, 화면 크기, 언어, 국가(IP 주소에서 추정), 다운로드 버튼(Google Play, APK) 클릭.
- 하지 않는 것: 쿠키를 사용하지 않고, 기기 저장소에 아무것도 저장하지 않으며, IP 주소를 저장하지 않고, 웹사이트 간 추적을 하지 않으며, 제3자에게 전달하지 않습니다. 브라우저의 "추적 금지(Do Not Track)" 설정을 존중합니다.
- 법적 근거: 웹사이트 이용 방식을 파악하고 개선하려는 정당한 이익(GDPR 제6조 제1항 (f)). 쿠키도 기기 저장소도 사용하지 않으므로 동의는 필요하지 않습니다.
- 반대권: 사용자는 언제든지 이 분석에 반대할 수 있습니다. 법적 고지에 있는 연락처로 문의하시거나 브라우저에서 “추적 금지”를 켜십시오.
- 보관 기간: 데이터는 이 목적에 더 이상 필요하지 않게 되는 즉시 삭제됩니다.
