최종 업데이트: 2026-10-27
요약
- 계정 없음. 가입하거나 로그인할 것이 없으며, 저희는 사용자가 누구인지 알지 못합니다.
- 추적 없음. 앱에는 분석, 광고 또는 기타 타사 SDK가 포함되어 있지 않으며, 다른 앱에 걸쳐 사용자를 추적하지 않습니다.
- 콘텐츠는 종단 간 암호화. Mac 화면, 터치 및 키보드 입력, 클립보드는 오직 사용자의 iPhone과 Mac 사이에서만 암호화되어 전송됩니다. 저희 서버도, Cloudflare의 중계도 이를 보거나 해독할 수 없습니다.
- 저희 서버는 연결을 주선하기만 합니다. 두 기기가 서로를 찾을 수 있도록 저희 랑데부 서비스는 IP 주소 같은 연결 정보를 처리합니다. 이 서비스가 보관하는 것은 실시간 현황 푸시 토큰의 해시와 푸시 채널 ID뿐입니다.
- 결제는 Apple이 처리합니다. DuoDesk Pro는 App Store를 통해 구입하고 결제됩니다. 저희는 결제 정보를 볼 수 없으며, 저희 서버는 구독 여부를 확인하지 않습니다.
1. 기기에 남는 데이터
iPhone
- 페어링된 Mac 목록(이름, ID, 키 지문, 랑데부 서비스 주소)과 설정은 앱 자체 저장 공간에 보관됩니다.
- iPhone의 개인 키는 Secure Enclave에 보관되며(Secure Enclave가 없는 기기에서는 이 기기로 제한된 키체인에 보관), iPhone 밖으로 나가지 않습니다.
- 카메라는 페어링 QR 코드를 스캔할 때만 사용됩니다. 인식은 iPhone에서 이루어지며, 이미지는 저장되거나 업로드되지 않습니다.
- Face ID는 iOS가 처리합니다. 앱은 인증에 성공했는지만 알 수 있으며, 얼굴 데이터는 절대 받지 않습니다.
Mac
- Mac의 개인 키, 페어링된 iPhone의 공개 키와 이름, iPhone의 실시간 현황 푸시 토큰, DuoDesk Host 설정은
~/Library/Application Support/DuoDesk/에 보관됩니다. - 연결 기록은
~/Library/Logs/DuoDesk/에 보관됩니다. DuoDesk Host가 시작, 페어링, 연결, 연결 해제된 시점과 그 이유, 페어링된 iPhone의 이름, 그리고 연결 방식 같은 문제 해결용 세부 정보가 기록됩니다. 기록은 1 MB가 되면 로테이션되며, Mac에만 남고 절대 업로드되지 않습니다. - 화면 기록 및 손쉬운 사용 권한은 페어링된 iPhone이 연결되어 있는 동안에만, 그 iPhone을 위해 화면을 캡처하고 그 iPhone이 보낸 내용을 실행하는 데 사용됩니다. 화면은 절대 녹화되거나 저장되지 않습니다.
2. iPhone과 Mac 사이의 연결
- 각 기기는 자체 키 쌍을 가집니다. 페어링할 때 iPhone은 Mac 화면에만 나타나는 QR 코드를 스캔하며, 그 후로 양쪽은 서로의 공개 키만 받아들입니다(키 고정). 페어링되지 않은 기기는 연결할 수 없습니다.
- 세션은 TLS 1.3으로 암호화된 QUIC를 사용합니다. 세션의 모든 내용(화면, 터치 및 키보드 입력, 클립보드 동기화, 디스플레이 선택 등)은 이 암호화된 연결 안에서 전송되며, 사용자의 iPhone과 Mac만 해독할 수 있습니다.
- DuoDesk는 P2P 직접 경로(로컬 네트워크, 또는 홀 펀칭으로 라우터를 넘는 경로)를 우선 사용합니다. 이것이 불가능하면 암호화된 패킷이 Cloudflare의 중계를 거칩니다(4절 참조). 두 기기 모두 Tailscale을 실행 중이라면 직접 경로가 Tailscale 네트워크를 거칠 수도 있습니다.
페어링과 연결의 기술적 세부 사항은 작동 방식에서 확인할 수 있습니다.
3. 랑데부 서비스
저희는 Cloudflare Workers에서 랑데부 서비스(rv.spailab.com)를 운영합니다. 이 서비스는 iPhone이 Mac을 찾도록 돕고, 두 기기가 직접 연결하는 데 필요한 정보를 교환하게 해 줍니다. 세션 내용은 절대 처리하지 않습니다.
서비스가 보는 정보
- Mac이 온라인일 때: DuoDesk Host는 서비스와의 연결을 열어 둡니다. 서비스는 Mac의 IP 주소, Mac의 ID와 공개 키(ID는 키에서 파생되며 해당 Mac임을 증명함), 그리고 Mac의 컴퓨터 이름(시스템 설정 › 일반 › 공유에 있는 이름으로, 본인의 이름이 포함될 수 있음)을 봅니다. 이름은 그 연결이 열려 있는 동안에만 보관됩니다.
- iPhone이 페어링하거나 연결할 때: 서비스는 iPhone의 IP 주소, 어느 Mac에 연결하려는지, 그리고 그 시각을 봅니다. 요청은 서비스가 읽지 않은 채 그대로 Mac에 전달됩니다(푸시 토큰은 예외, 5절 참조). 요청에는 두 기기의 네트워크 주소(로컬 및 공인 주소와 포트), 일회용 연결 자격 증명, iPhone 키의 지문과 서명이 들어 있으며, 페어링할 때는 iPhone의 공개 키와 기기 이름(iOS는 ‘iPhone’ 같은 일반적인 이름만 제공)도 들어 있습니다. 이 정보는 전달만 되고 저장되지 않습니다.
- 온라인 상태: Mac의 ID를 아는 사람은 누구나 그 Mac이 온라인인지 서비스에 물어볼 수 있습니다. 응답은 ‘온라인’ 또는 ‘오프라인’뿐입니다.
서비스가 보관하는 정보
장기적으로 보관하는 것은 실시간 현황 푸시를 위한 다음 두 가지 항목뿐이며, Mac별로 따로 저장됩니다(5절 참조).
- 푸시 토큰의 SHA-256 해시(토큰 자체가 아님)와 등록 시각. Mac당 최대 32개이며, 가장 오래된 항목이 새 항목으로 교체됩니다.
- Mac이 생성한 실시간 현황 푸시 채널의 ID. 푸시 환경당 최대 2개.
로그
- 서비스 자체 로그에는 이벤트만 기록됩니다. Mac이 온라인 상태가 됨, 연결 요청이 전달됨, Mac이 요청을 수락하거나 거부함(및 그 이유), 소요 시간, 푸시에 대해 Apple이 반환한 상태. 각 항목에는 Mac ID의 처음 6자만 포함되며, IP 주소, 키, 토큰, 푸시 내용은 포함되지 않습니다.
- 악용을 방지하기 위해 서비스는 IP 주소별, Mac ID별로 분당 요청 수를 세고, 한도를 넘는 요청은 거부합니다.
- Cloudflare는 서비스가 실행되는 플랫폼을 운영합니다. Cloudflare는 자체 개인정보 처리방침에 따라 요청(IP 주소 포함)을 처리하며, 플랫폼 로그를 제한된 기간 동안 보관합니다.
4. Cloudflare 중계 및 주소 조회
- 주소 조회(STUN): 연결할 때마다 두 기기는 직접 경로를 시도할 수 있도록 Cloudflare의 STUN 서버(
stun.cloudflare.com)에 자신의 공인 주소를 묻습니다. Cloudflare는 기기의 IP 주소를 봅니다. - 중계(TURN): 직접 경로가 불가능하면 암호화된 세션 데이터가 Cloudflare TURN(
turn.cloudflare.com)을 거칩니다. Cloudflare는 두 기기의 IP 주소와 포트, 전송된 데이터의 양과 시각을 보지만 내용은 보지 못합니다. 중계 자격 증명은 Mac이 연결을 수락한 뒤에만 발급되며 12시간 후 만료됩니다.
5. 스탠바이 패널(실시간 현황)
스탠바이 패널은 Mac에서 실행되는 Claude Code와 Codex의 상태와 사용량을 iPhone의 잠금 화면과 스탠바이에 표시합니다. 기본적으로 켜져 있습니다. iPhone의 DuoDesk 설정(‘스탠바이에서 Claude / Codex 상태 표시’)에서 끄거나, iPhone의 설정 › DuoDesk에서 DuoDesk의 실시간 현황을 끌 수 있습니다.
Mac이 읽는 정보
- DuoDesk Host는 어떤 작업이 실행 중이고 어떤 작업이 사용자를 기다리고 있는지 알아내기 위해, Claude Code와 Codex가 Mac에 보관하는 세션 파일을 변경하지 않고 읽습니다. 파일은 수정되지 않으며 통째로 어디에도 전송되지 않습니다. Mac 밖으로 나가는 것은 ‘푸시되는 내용’에 나열된 요약뿐입니다.
- 사용량: DuoDesk Host는 이 Mac의 Claude Code에 이미 로그인된 정보를 사용해 Anthropic에 구독 사용량을 요청하고, Codex 사용량은 이 Mac의 Codex 프로그램에 요청하며, Codex 프로그램이 다시 OpenAI에 요청합니다. 이 요청은 Mac에서 Anthropic과 OpenAI로 곧바로 전송됩니다. 저희 서버를 거치지 않으며, 사용자의 자격 증명은 절대 저희에게 전송되지 않습니다.
푸시되는 내용과 전달 방법
- 푸시에는 다음이 포함됩니다. Mac의 이름, 최대 6개의 작업과 각 작업의 제목(세션 이름, 이름이 없으면 최근 프롬프트의 앞부분, 최대 28자), 프로젝트 폴더 이름, 상태, 현재 단계(최대 40자), 그리고 사용량 백분율과 각각의 재설정 시각.
- Mac은 이 내용을 저희 랑데부 서비스를 통해 Apple 푸시 알림 서비스(APNs)로 보내고, APNs가 iPhone으로 전달합니다. 랑데부 서비스는 전송 중에만 이를 처리하며 내용을 기록하거나 저장하지 않습니다. Apple은 자체 개인정보 처리방침에 따라 푸시를 처리합니다.
- 푸시 토큰: iPhone은 Mac에 연결할 때마다 iOS가 DuoDesk의 실시간 현황에 할당한 푸시 토큰을 함께 보내며, 랑데부 서비스가 이를 Mac에 전달합니다. Mac이 연결을 수락하면 서비스는 토큰의 해시만 보관하여, Mac이 자신에게 연결한 적이 있는 iPhone에만 푸시할 수 있게 합니다.
6. 구입(DuoDesk Pro)
- iPhone용 DuoDesk는 무료로 다운로드할 수 있습니다. Mac에 연결하려면 App Store에서 판매하는 자동 갱신 구독인 DuoDesk Pro가 필요합니다. Mac용 DuoDesk Host는 무료입니다.
- 구입, 결제, 갱신, 취소, 환불은 Apple이 사용자의 Apple 계정으로 Apple의 약관과 개인정보 처리방침에 따라 처리합니다. 저희는 결제 정보를 받지 않습니다. Apple은 저희에게 판매 보고서(예: 어느 국가에서 구독이 몇 건 판매되었는지)를 제공하지만, 여기에는 사용자의 이름, 이메일 주소, 결제 정보가 포함되지 않습니다.
- 구독이 유효한지는 앱이 iPhone에서 Apple의 StoreKit으로 확인합니다. 구입이나 구독에 관한 정보는 저희 서버로 전송되지 않으며, 랑데부 서비스는 이를 받지도 확인하지도 않습니다.
- DuoDesk의 이용 약관은 Apple의 표준 최종 사용자 사용권 계약(EULA)입니다.
7. 저희가 하지 않는 일
- 저희는 데이터를 판매하거나, 광고를 표시하거나, 프로필을 만들지 않습니다.
- 앱에는 분석, 충돌 보고 또는 광고 SDK가 포함되어 있지 않습니다. iOS 설정 › 개인정보 보호 및 보안 › 분석 및 향상에서 앱 개발자와 공유하도록 선택한 경우, Apple이 자체 정책에 따라 익명의 충돌 보고서와 사용 통계를 저희에게 제공합니다.
- 저희는 이름, 이메일, 전화번호, 위치, 연락처, 사진 등의 개인 정보를 수집하지 않습니다.
8. 관련된 제3자
| 서비스 | 용도 | 볼 수 있는 정보 |
|---|---|---|
| Cloudflare(Workers, R2, TURN, STUN) | 랑데부 서비스 운영, 중계, 공인 주소 조회, 이 웹사이트 및 Mac 다운로드 호스팅 | IP 주소, 연결 시각, 데이터 양, 위에 나열된 연결 정보. 세션 내용은 볼 수 없음 |
| Apple(푸시 알림 서비스, App Store) | iPhone에 실시간 현황 전달, 앱 배포, DuoDesk Pro 판매 및 결제 | 전송 중인 푸시 내용, 사용자의 구입 내역과 결제 정보(모두 Apple의 정책에 따라 처리) |
| Anthropic, OpenAI | 스탠바이 패널을 사용하는 경우에만: 본인의 구독 사용량 확인 | Claude Code나 Codex를 사용할 때와 마찬가지로, Mac이 본인의 로그인 정보로 직접 보내는 요청 |
9. 보관 및 삭제
- 기기에 있는 데이터: iPhone 앱에서 Mac을 삭제하거나 DuoDesk 앱을 삭제하세요. Mac에서는 메뉴에서 페어링된 iPhone을 제거하거나, DuoDesk Host를 제거하고 1절에 나온 두 폴더를 삭제하세요.
- 랑데부 서비스의 푸시 토큰 해시와 채널 ID: 새 항목으로 교체될 때까지 보관됩니다. 더 일찍 삭제하려면 문의해 주세요.
- 전달 과정의 연결 정보와 푸시 내용: 저장되지 않습니다.
10. 기타
- 국외 처리: Cloudflare와 Apple은 전 세계에서 서버를 운영하므로, 연결 정보와 푸시가 사용자가 있는 국가나 지역 밖의 데이터 센터에서 처리될 수 있습니다.
- 아동: DuoDesk는 아동을 대상으로 하지 않으며, 누구로부터도 개인 정보를 고의로 수집하지 않습니다.
- 이 웹사이트: Cloudflare에서 호스팅됩니다. 쿠키, 분석 도구, 타사 스크립트를 사용하지 않으며, 저희는 접속 로그를 보관하지 않습니다. 호스팅 제공자인 Cloudflare는 자체 개인정보 처리방침에 따라 요청(IP 주소 포함)을 처리합니다.
- 변경 사항: DuoDesk의 데이터 처리 방식이 바뀌면 이 페이지와 위의 날짜를 업데이트합니다.
11. 문의
개인정보 관련 문의나 삭제 요청은 duodesksupport@signalplus.com로 보내 주세요.