Reach 앱 두 개를 설치하고 Mac에 권한을 허용하면, 환경에 맞는 Nearby·Direct·Relay 경로로 같은 Mac에 연결할 수 있습니다. 기본 Nearby 흐름에서는 같은 Wi-Fi에서 한 번 페어링합니다. iPad가 기준이 되는 경험이고, iPhone은 좁은 화면과 입력을 다듬는 동안 실험적 지원(Experimental)입니다.
준비물
Reach는 두 앱이 짝을 이뤄 동작합니다. 하나는 사용하려는 Mac에, 다른 하나는 그 Mac을 조작할 기기에 설치합니다.
Reach Viewer
조작하는 쪽인 iPhone 또는 iPad에서 실행됩니다. App Store에는 Reach Remote라는 이름으로 올라가 있습니다.
iOS 또는 iPadOS 17.0 이상이 필요합니다. iPad가 기준이 되는 경험이고, iPhone은 좁은 화면과 입력을 다듬는 동안 실험적 지원(Experimental)입니다. 지원 모델 목록을 따로 두지는 않습니다.
Reach Host
Mac에서 실행됩니다. 화면과 시스템 오디오를 공유하고, 입력을 받고, 메뉴 막대에서 연결을 기다립니다.
macOS 14(Sonoma) 이상이 필요합니다. 무료이고, Intel과 Apple Silicon을 함께 지원하는 유니버설 빌드이며, Developer ID 서명과 공증을 거쳤습니다. 한 번 설치하면 내장 업데이터가 새 버전을 자동으로 확인하고, 업데이트가 있으면 메뉴에서 설치할 수 있게 알려 줍니다.
시작할 때 계정은 필요 없습니다. 로그인하지 않아도 같은 네트워크에서는 Nearby(같은 네트워크)로, 주소를 알고 있는 Mac에는 수동 Direct IP로 연결할 수 있습니다. 선택 사항인 Reach 계정을 쓰면 내 네트워크 밖에 있는 Mac을 위한 경로 두 가지, Internet Direct와 Relay(중계)가 더해집니다.
설치와 권한
1
Mac에 Reach Host 설치하기
reachremote.app에서 Reach Host 디스크 이미지를 내려받아 Reach Host를 응용 프로그램 폴더로 끌어다 놓고 실행하세요. 메뉴 막대에 자리를 잡고, 공유하는 동안 계속 거기에 있습니다.
2
macOS 권한 허용하기
아래 권한은 Reach Host가 처음 필요로 할 때 macOS가 하나씩 물어보고, 모두 System Settings → Privacy & Security에 모여 있습니다. 로컬 네트워크, 손쉬운 사용, 화면 기록은 정상 세션에 필수입니다. 하나라도 빠지면 Reach Host는 새 세션을 거절하지만, 로컬 네트워크 접근이 허용되어 있다면 어떤 권한이 빠졌는지 Viewer가 설명할 수 있도록 준비 상태를 계속 알릴 수 있습니다. 시스템 오디오 공유는 선택 사항입니다.
화면 기록
공유할 디스플레이를 캡처하는 데 필요합니다. 방금 허용한 권한이 반영되려면 macOS가 Reach Host 재실행을 요구할 수 있습니다.
손쉬운 사용
Reach Viewer에서 보낸 터치, 포인터 이동, 키 입력이 실제로 Mac에 전달되는 데 필요합니다.
선택 사항입니다. 시스템 오디오는 ScreenCaptureKit으로 가져오며, Reach Host는 마이크 권한을 요청하지 않고 마이크 샘플도 처리하지 않습니다. Reach는 Mac의 시스템 오디오 출력을 캡처합니다. 오디오는 디스플레이별로 나뉘지 않으므로, 선택한 화면에 보이지 않는 앱의 소리도 함께 전달됩니다. 건너뛰어도 연결은 그대로 되고, 소리만 나오지 않습니다.
업데이트 뒤에는. 앱 서명이 바뀌면 macOS가 화면 기록과 손쉬운 사용 권한을 초기화할 수 있습니다. 업데이트 직후 화면이 검게 나오거나 입력이 먹지 않으면 System Settings → Privacy & Security에서 두 권한을 다시 허용하고 Reach Host를 재실행하세요.
기본 Nearby 흐름이라면 여기서 시작하세요. 같은 네트워크에서 페어링 코드를 확인해 신뢰를 설정합니다. 같은 Reach 계정으로 검증되었거나 Mac에서 iCloud Auto-Trust를 명시적으로 켠 경우에는 첫 연결에서도 코드 없이 신뢰를 설정할 수 있습니다.
Reach Host에서 공유를 시작하고 메뉴 막대에 그대로 두세요.
Reach Viewer를 엽니다. 같은 네트워크에서 Bonjour로 찾아낸 Mac이 Nearby에 나타납니다.
탭하세요. 기본 설정에서는 아직 신뢰되지 않은 viewer의 첫 연결에 Mac이 짧은 페어링 코드를 표시하며, 그 코드를 iPhone이나 iPad에 입력합니다. 같은 Reach 계정으로 검증된 viewer는 코드 없이 신뢰될 수 있고, Mac에서 iCloud Auto-Trust를 명시적으로 켠 경우 같은 Apple ID로 확인된 viewer도 첫 연결에서 코드 없이 신뢰될 수 있습니다. 이 설정은 기본적으로 꺼져 있습니다.
디스플레이를 고르고 스트리밍을 시작합니다.
다음부터는 한 번 탭하면 다시 연결됩니다. 코드가 필요한 경우에도 첫 연결에만 씁니다.
페어링 코드가 왜 필요할까요? 두 기기가 모두 본인 것임을 증명하기 위해서입니다. Reach는 페어링 시점에 Mac의 인증서를 고정해 두기 때문에, 이후 세션이 조용히 다른 기기로 연결될 수 없습니다. 계정으로 신뢰한 Mac은 계정 기기 목록의 지문을, 명시적으로 허용한 첫 직접 연결은 그때 고정한 지문(TOFU)을 씁니다.
어디서든 내 Mac에 연결하기
내 네트워크를 벗어나면 경로는 크게 두 갈래입니다. 하나는 로그인 없이 되고, 다른 하나는 선택 사항인 Reach 계정이 필요합니다.
계정 없이 — 수동 Direct IP
Mac이 인터넷에서 닿을 수 있는 상태라면 Reach Viewer가 곧바로 접속할 수 있습니다.
Reach는 기본적으로 UDP 8443을 씁니다. Mac이 공유기나 NAT 뒤에 있다면 그 포트를 Mac으로 포워딩하거나 매핑하세요. Mac에 공인 IPv4가 직접 배정돼 있다면 이 단계는 필요 없습니다.
Reach Viewer에서 주소로 Mac을 추가하고 host:port 형식으로 입력합니다.
세션은 기기 대 기기로 직접 연결됩니다. 시그널링도, 중계도, 중간에 끼어드는 것이 없습니다.
참고하세요. 수동 Direct IP는 현재 외부에서 닿는 공인 IPv4 엔드포인트가 필요합니다. Mac이 공유기나 NAT 뒤에 있다면 Reach가 쓰는 UDP 포트를 매핑해야 하고, 그 매핑은 CGNAT를 통과하지 못하므로 그 경우 아래의 Internet Direct(공인 IPv6 후보 사용 가능)나 Relay(중계) 경로가 답입니다.
Reach 계정으로 — Internet Direct와 Relay(중계)
Reach Viewer의 계정 항목을 열고 이메일로 로그인하세요. Reach가 일회용 매직 링크나 코드를 보내 주며, 비밀번호는 없습니다.
Reach Host에서도 같은 계정으로 로그인하고 그 Mac을 계정에 등록합니다.
이제 iPhone이나 iPad에 계정에 등록된 Mac으로 나타나며, 페어링 코드는 필요 없습니다.
같은 계정으로 로그인한 기기끼리는 자동으로 서로를 신뢰하므로, 새로 산 iPhone이나 iPad도 코드 없이 들어올 수 있습니다. 다만 신뢰와 도달 가능성은 다른 이야기입니다. 실제로 연결하려면 접속 가능한 직접 후보 주소가 있거나 중계가 설정되어 있어야 합니다.
Internet Direct
로그인 상태에서 쓰는 경로입니다. 저장해 둔 연결 프로필을 바탕으로 직접 연결 후보를 시도합니다 — NAT를 통과해 찾아낸 엔드포인트뿐 아니라 공인 IPv6 주소와 라우터가 매핑한 엔드포인트도 포함합니다.
Relay(중계)
직접 연결이 아예 만들어지지 않는 네트워크를 위한, 로그인 상태 전용 경로입니다. Reach Host에 입력해 둔 본인 TURN 자격 증명으로 Cloudflare TURN을 거쳐 암호화된 세션을 전달합니다. 직접 경로보다 지연이 더 붙으며, 얼마나 붙는지는 중계 경로와 네트워크 상태에 따라 달라집니다.
경로 고르기
경로
쓰이는 상황
지연
준비물
Nearby(같은 네트워크)
두 기기가 같은 네트워크에 있을 때
가장 낮음 — 같은 서브넷의 직접 연결
계정 불필요. Bonjour 탐색, 기본 설정에서는 첫 연결에만 페어링 코드
수동 Direct IP
Mac의 공인 주소를 알고 있을 때
낮음, 기기 대 기기 직접 연결
계정 불필요. 공인 IPv4 엔드포인트 필요, NAT 뒤면 UDP 8443 매핑 후 host:port 입력
자동(Auto)은 지금 로그인 상태에서 쓸 수 있는 경로만 시도합니다. 로그아웃 상태라면 Nearby(같은 네트워크)와 저장해 둔 수동 Direct IP 주소가 대상이고, 로그인하면 여기에 Internet Direct와 Relay(중계)가 더해집니다. 물론 경로를 직접 골라도 됩니다.
Reach는 마지막으로 고른 경로를 Mac별로 기억합니다. 평소 LAN으로 붙는 Mac과 평소 Relay(중계)로 붙는 Mac이 각자의 설정을 그대로 유지합니다.
신뢰와 보안
암호화된 전송 — 모든 세션은 QUIC 위에서 TLS 1.3으로 동작합니다. 영상, 오디오, 입력은 내 기기들 사이에서 암호화된 채로 오갑니다.
고정된 신원 — Mac의 인증서 지문은 페어링 시점에 기록되거나, Reach 계정의 기기 목록에 보관되거나, 명시적으로 허용한 첫 직접 연결에서 고정(TOFU)됩니다. 이후 지문이 달라지면 연결은 거부되므로 세션이 조용히 다른 기기로 바뀔 수 없습니다.
입장 통제 — Reach Host는 코드로 페어링했거나, 같은 Reach 계정으로 검증됐거나, Mac에서 iCloud Auto-Trust를 명시적으로 켠 경우 같은 Apple ID로 확인된 Reach Viewer만 받아들입니다. iCloud Auto-Trust는 기본적으로 꺼져 있고, 켜면 같은 Apple ID를 쓰는 viewer가 첫 연결에서도 페어링 코드 없이 신뢰될 수 있습니다. 주소를 안다고 들어올 수 있는 것이 아닙니다.
접근 회수 — Reach Host의 신뢰 기기 목록에서 그 기기를 지우면 해당 지문의 세션이 닫히고, Reach 계정이나 iCloud 자동 신뢰를 통한 재입장도 함께 차단됩니다. 다시 신뢰하려면 Mac에 표시된 새 페어링 코드를 명시적으로 입력해야 합니다. 계정의 기기 등록 자체까지 취소하려는 경우에만 Reach 계정에서도 따로 제거하세요.
Reach를 거치지 않습니다 — 화면, 오디오, 입력은 Reach가 운영하는 서버를 통과하지 않습니다. Relay(중계) 경로에서도 패킷은 암호화된 채로 Cloudflare TURN을 지나가며, Cloudflare는 그 내용을 읽을 수 없습니다.
추적 없음 — 앱에는 추적 SDK도 광고 식별자도 없습니다. 백엔드는 서비스를 운영하고 보호하기 위한 운영 텔레메트리와 로그를 남기며, 광고나 프로파일링에는 쓰지 않습니다.
로그인 상태에서 Internet Direct와 Relay(중계)를 시도할 때는 시그널링이 일시적인 연결 후보, 즉 IP 주소와 포트를 주고받습니다. 이 정보는 시도 하나당 최대 60초 동안 보관되고 시도가 취소되거나 만료되면 삭제됩니다. 자세한 내용은 개인정보 처리방침에 있습니다.
내 작업 공간
Reach Viewer의 작업 공간에는 서로 독립적인 최대 4개 화면을 동시에 띄울 수 있습니다. 신뢰하는 Mac 한 대의 디스플레이 네 개일 수도, 서로 다른 Mac 네 대일 수도, 둘을 섞어도 됩니다.
디스플레이 고르기
실제 디스플레이
Mac에 실제로 연결된 모니터 중 하나를 띄웁니다. 이미 있는 화면을 그대로 넘겨받고 싶을 때 쓰세요.
기존 가상 디스플레이
새로 만드는 대신, Reach가 이미 뷰어 크기에 맞춰 만들어 둔 가상 디스플레이를 다시 씁니다.
새 가상 디스플레이
화면 크기에 맞는 디스플레이를 Mac에 새로 만들어 달라고 요청합니다. iPhone이나 iPad가 미러링이 아니라 별도의 작업 공간이 됩니다.
주사율까지 보는 재사용
재사용할 때 주사율도 함께 따집니다. 30Hz로 만들어 둔 가상 디스플레이 때문에 나중의 60fps 요청이 묶이는 일은 없습니다.
알아 두면 좋은 설정
커서 핸들 — Direct Touch 모드에서 작은 핸들이 Mac 커서를 따라다닙니다. 손끝에 가린 곳을 더듬는 대신 포인터를 정확하게 옮길 수 있어요. Mac 쪽에서는 Reach Host → Devices & Trust → Advanced → Cursor Telemetry에서 끌 수 있습니다.
스크롤 방향 — 두 손가락 터치 스크롤과 트랙패드 스크롤을 각각 따로 반전할 수 있어서, 각 입력이 원래 쓰던 감각 그대로 움직입니다.
코덱 — HEVC와 H.264 모두 하드웨어 가속을 쓰고, QUIC 위에서 비트레이트가 상황에 맞게 조절됩니다. 코덱은 직접 고르는 대신 Mac과 협상해서 정해지고, Relay(중계) 경로는 첫 프레임이 확실히 도착하도록 H.264로 시작합니다.
해상도, 프레임률, 비트레이트 — Reach가 알아서 맞춰 가지만, 느린 네트워크를 위해 Reach Viewer 설정에서 해상도와 프레임률, 비트레이트 상한을 직접 걸 수 있습니다. 실제로 나오는 해상도와 프레임률은 선택한 Mac 디스플레이와 viewer 기기, 네트워크에 따라 달라집니다.
오디오 — Mac의 시스템 오디오 출력을 캡처합니다. 디스플레이별로 분리되지 않으므로 선택한 화면 밖 앱의 소리도 포함됩니다. Reach Viewer에서는 영상 타임라인을 따라가고, 소리가 화면에서 밀리면 오래된 큐를 비우고 다시 맞춥니다.
키보드와 포인터 — 하드웨어 키보드, 포인터, 트랙패드가 모두 Mac으로 이어지고, Caps Lock으로 Mac에서 한/영을 전환합니다. 세로 모드에서는 화상 키보드가 Mac의 해상도를 바꾸는 대신 보이는 영역만 줄입니다.
Reach 계정
계정은 선택 사항입니다. 집 밖에서도 내 기기들이 서로를 찾고 신뢰할 수 있도록, 그리고 Internet Direct와 Relay(중계)가 참고할 프로필을 남겨 두기 위해 존재합니다.
무엇이 저장되나요
이메일 주소. 로그인에만 씁니다.
계정 레코드. 계정 식별자와 이메일, 서버가 보관하는 계정 서명 키, 그리고 로그인 상태를 관리하는 메타데이터입니다.
기기 목록. 등록된 기기마다 기기 식별자, 이름, 종류, 공개 키, 키 지문, TLS 인증서 지문, 등록·최근 확인·해지 시각을 담습니다. Mac 호스트라면 다른 기기가 접속할 수 있도록 닿는 주소와 포트, 직접 연결 후보도 함께 보관합니다.
로그인 상태. 수명이 짧은 세션 토큰과 리프레시 토큰을 해시한 형태로 만료·회전 정보와 함께 저장하고, 매직 링크 토큰은 해시로만 보관하고, 6자리 폴백 코드는 코드 자체를 이메일·컨텍스트·만료·사용·시도 정보와 함께 보관합니다.
패스키를 쓰는 경우 WebAuthn 챌린지와 패스키 공개 자격 증명. 그리고 로그인 표면을 보호하기 위한 IP·이메일 기반 단기 요청 카운터.
백엔드는 Cloudflare에서 동작합니다. 특정 처리 지역을 보장하지는 않습니다. 화면, 오디오, 입력 내용은 절대 보관하지 않습니다.
기기 관리와 계정 삭제
로그아웃은 그 기기의 로그인만 해제하고, 등록 자체는 남겨 둡니다.
기기 제거는 다른 기기는 그대로 둔 채 해당 기기의 계정 접근만 회수합니다.
앱 안에서 실행하는 계정 삭제는 계정 기록, 등록된 모든 기기, 모든 세션, 대기 중인 로그인 코드, 그리고 그 계정에 연결된 WebAuthn 챌린지와 패스키 자격 증명을 계정 데이터베이스에서 제거합니다. 계정이 만들어지기 전 생성돼 계정 식별자가 비어 있는 WebAuthn 챌린지는 이 동작으로 삭제되지 않으며, 만료되면 더 이상 인증에 쓰이지 않습니다. 다만 현재 배포는 그 시점의 물리적 삭제를 보장하지 않습니다. 서비스 보호용 단기 요청 카운터와 운영 로그도 이 요청의 대상이 아닙니다. 로그아웃은 삭제가 아닙니다.
문제 해결
Nearby에 Mac이 보이지 않습니다
Mac 메뉴 막대에서 Reach Host가 실행 중이고 공유 상태인지 확인하세요.
두 기기가 같은 네트워크에 있어야 합니다. 게스트 Wi-Fi나 회사 Wi-Fi는 Nearby가 의존하는 Bonjour 탐색을 막는 경우가 많습니다.
양쪽의 로컬 네트워크 권한과, 공유기의 VPN이나 단말 격리 설정도 확인하세요.
화면이 계속 검게 나옵니다
Reach Host에 화면 기록 권한을 허용한 뒤 앱을 완전히 종료했다가 다시 여세요. macOS는 이 권한이 반영되기 전에 재실행을 요구할 수 있습니다.
디스플레이 선택 화면에서 디스플레이를 다시 고르세요.
터치나 키보드 입력이 먹지 않습니다
Reach Host에 손쉬운 사용 권한을 허용하고 앱을 종료했다가 다시 여세요.
필수 권한이 하나라도 빠져 있으면 Reach Host가 연결을 거부하므로 로컬 네트워크와 화면 기록도 함께 확인한 뒤, Reach Viewer에서 다시 연결하세요.
앱 업데이트 직후 화면이 검거나 입력이 멈췄습니다
앱 서명이 바뀌면 macOS가 화면 기록과 손쉬운 사용 권한을 초기화합니다. System Settings → Privacy & Security에서 두 권한을 다시 허용한 뒤 Reach Host를 재실행하세요.
집에서는 되는데 밖에서는 안 됩니다
로그아웃 상태에서 내 네트워크 밖의 Mac에 닿는 경로는 수동 Direct IP뿐입니다. 주소가 CGNAT 뒤가 아닌 공인 IPv4 엔드포인트인지, 그리고 Mac이 라우터나 NAT 뒤에 있다면 UDP 매핑이 살아 있는지 확인하세요.
로그인 상태라면 Internet Direct를 먼저 시도하고, 직접 경로가 만들어지지 않을 때 Relay(중계)로 넘어가세요.
Relay(중계)가 도무지 연결되지 않습니다
Relay(중계)는 Reach Host에 입력한 유효한 Cloudflare TURN 자격 증명이 있어야 합니다. 값이 들어 있는지, 만료되지 않았는지 확인하세요.
호스트 쪽 네트워크에 VPN이나 가상 인터페이스가 많으면 중계 설정이 깨질 수 있습니다. 더 단순한 네트워크에서 시도하거나 수동 Direct IP를 쓰세요.
Relay(중계)는 로그인 상태에서만 쓰는 경로라는 점도 기억하세요. 로그아웃 상태에서는 후보에 아예 들어가지 않습니다.
소리가 나지 않습니다
Mac에서 시스템 오디오 공유를 켜고, 필요하면 Reach Host가 열어 주는 화면 기록/시스템 오디오 설정에서 권한을 복구하세요. Reach는 마이크 권한을 요청하지 않습니다. 선택 사항이라 켜지 않은 Mac도 연결은 잘 되지만 소리는 나오지 않습니다.
Reach Viewer의 오디오 표시를 확인하세요. 호스트에서 오디오 공유가 꺼진 경우와 Mac이 오디오 권한을 거부한 경우를 따로 알려 줍니다.
Reach Viewer의 컨트롤 바에서 세션이 음소거되어 있지 않은지 확인하세요.
문제는 어떻게 알리면 되나요?
Reach Viewer의 연결 화면에서 실패 리포트를 복사해 [email protected]으로 보내거나 GitHub에 이슈를 남겨 주세요. 리포트에는 그 시도의 경로, 소요 시간, 오류가 담기며 신원을 알아볼 수 있는 정보는 가려집니다.
User Guide
Your Mac, wherever you are.
Install the two Reach apps and grant the Mac its permissions, then connect over the Nearby, Direct, or Relay route that fits your network. In the default Nearby flow, you pair once on Wi-Fi. iPad is the reference experience; iPhone is supported as Experimental while compact-screen and input polish continues.
What you need
Reach is two apps that work together: one on the Mac you want to use, one on the device you use it from.
Reach Viewer
Runs on the iPhone or iPad you control from. On the App Store it is listed as Reach Remote.
Needs iOS or iPadOS 17.0 or later. iPad is the reference experience. iPhone is supported as Experimental while compact-screen and input polish continues. There is no model allowlist.
Reach Host
Runs on the Mac. It shares the screen and system audio, accepts input, and waits for connections from the menu bar.
Needs macOS 14 (Sonoma) or later. Free, universal Intel and Apple Silicon, Developer ID signed and notarized. Once installed, it checks for updates automatically and offers an install action in its menu.
No account needed to start. Signed out, you can use Nearby / LAN on the same network and manual Direct IP to an address you know. An optional Reach Account adds two more routes — Internet Direct and Relay — for a Mac that is not on your network.
Install and permissions
1
Install Reach Host on the Mac
Download the Reach Host disk image from reachremote.app, drag Reach Host into Applications, and open it. It lives in the menu bar and stays there while you share.
2
Grant the macOS permissions
macOS asks for each of these the first time Reach Host needs it, and they all live in System Settings → Privacy & Security. Local Network, Accessibility, and Screen Recording are required for a normal session. If one is missing, Reach Host rejects new sessions but, when Local Network access permits, may keep advertising a readiness state so the viewer can explain which permission is missing. Sharing system audio is optional.
Screen Recording
Required to capture the display you share. macOS may need Reach Host restarted before a fresh grant takes effect.
Accessibility
Required so touches, pointer moves, and keystrokes sent from the viewer actually reach the Mac.
Local Network
Required for the Bonjour discovery behind Nearby. Allow it on the iPhone or iPad as well when iOS asks.
System audio
Optional. System audio comes through ScreenCaptureKit; Reach Host does not request Microphone permission and ignores microphone samples. Reach captures the Mac's system audio output. Audio is not partitioned per display, so sound from an app that is not on the display you selected is carried too. Skip it and the session still connects, just without audio.
After an update. macOS can reset Screen Recording and Accessibility when an app’s signature changes. If the screen goes black or input stops responding right after an update, re-grant both in System Settings → Privacy & Security and restart Reach Host.
3
Install Reach Viewer on the iPhone or iPad
Get Reach Remote from the App Store and open it. Allow Local Network access when iOS asks, and your Macs show up on the first screen.
Default first connection: same Wi-Fi
For the default Nearby flow, start here. Confirming the pairing code on the local network establishes trust. A viewer verified through the same Reach Account, or through explicitly enabled iCloud Auto-Trust, can establish trust on its first connection without a code.
Start sharing in Reach Host and leave it running in the menu bar.
Open Reach Viewer. The Mac appears under Nearby, discovered over Bonjour on the same network.
Tap it. By default an untrusted viewer's first connection shows a short pairing code on the Mac — type it into the iPhone or iPad. A viewer verified through the same Reach Account can be trusted without a code, and if iCloud Auto-Trust is explicitly enabled on the Mac, so can a viewer verified as using the same Apple ID. That setting is off by default.
Pick a display and start streaming.
Reconnecting later takes one tap. When a code is needed at all, it is only for the first connect.
Why a pairing code? It proves both devices are yours. Reach pins the Mac’s certificate at pairing, so a later session cannot be quietly redirected to a different machine. A Mac trusted through your account uses the fingerprint held in the account device registry, and an explicitly authorized first direct connection pins the certificate then (trust on first use).
Reaching your Mac from anywhere
Off your own network there are two families of routes. One works signed out; the other needs the optional Reach Account.
Without an account — manual Direct IP
If the Mac is reachable from the internet, the viewer can dial it straight.
Reach uses UDP 8443 by default. If the Mac is behind a router or NAT, forward or map that port to it. A Mac that already holds a public IPv4 address does not need this step.
In Reach Viewer, add the Mac by address and enter host:port.
The session is peer-to-peer. No signaling, no relay, nothing in between.
Heads up. Manual Direct IP currently needs a routable public IPv4 endpoint. If the Mac is behind a router or NAT, map Reach's UDP port to it; that mapping cannot be created through carrier-grade NAT, so in that case the Internet Direct route below — which can select a public-IPv6 candidate — or Relay is the answer.
With a Reach Account — Internet Direct and Relay
In Reach Viewer, open the account section and sign in with your email. Reach sends a one-time magic link or code; there are no passwords.
Sign in to the same account in Reach Host and register the Mac to it.
The Mac now appears on the iPhone or iPad as an account Mac, with no pairing code needed.
Devices signed into the same account trust each other automatically, so a brand-new iPhone or iPad can be admitted without a code. Trust is not the same as reachability, though: the attempt still needs a dialable direct candidate or a configured relay.
Internet Direct
A signed-in route that works from a saved connection profile and tries direct internet candidates — endpoints discovered through NAT traversal, public IPv6 addresses, and router-mapped endpoints.
Relay
A signed-in route for networks where no direct link can form. It carries the encrypted session over Cloudflare TURN, using your own TURN credentials entered in Reach Host. Expect more latency than a direct path; how much depends on the relay path and network conditions.
Choosing a route
Route
When it is used
Latency
Setup
Nearby / LAN
Both devices on the same network
Lowest — a direct connection on the same subnet
No account. Bonjour discovery; by default a pairing code on the first connect
Manual Direct IP
A known, routable address for the Mac
Low, peer-to-peer
No account. Needs a public IPv4 endpoint; map UDP 8443 if behind NAT, then enter host:port
Internet Direct
A remote Mac reachable through NAT traversal
Low to medium
Reach Account, through a saved connection profile
Relay
Strict NAT or carrier-grade NAT, where no direct path forms
Medium — adds path- and network-dependent latency versus a direct path
Reach Account plus your own Cloudflare TURN credentials in Reach Host
Auto only tries routes that are eligible for your current sign-in state. Signed out that means Nearby / LAN and any manual Direct IP endpoint you saved. Signed in, Internet Direct and Relay join the eligible set. You can always pick a route yourself instead.
Reach also remembers the last route you chose per Mac, so the Mac you normally reach over LAN and the Mac you normally reach over Relay each keep their own preference.
Trust and security
Encrypted transport — every session runs TLS 1.3 over QUIC. Video, audio, and input stay encrypted between your own devices.
Pinned identity — the Mac’s certificate fingerprint is recorded at pairing, held for that device in your Reach Account’s device registry, or pinned on an explicitly authorized first direct connection (trust on first use). A later mismatch is rejected, so a session cannot be silently swapped to another machine.
Admission — Reach Host admits a viewer after pairing-code trust, same-account verification, or — when iCloud Auto-Trust is explicitly enabled on the Mac — same-Apple-ID verification. iCloud Auto-Trust is off by default; enabling it lets a viewer on the same Apple ID be trusted on its first connection without a pairing code. Knowing an address is never enough.
Revoking access — removing a viewer from the trusted devices list in Reach Host closes its session and blocks automatic account or iCloud re-admission for that fingerprint. Re-trusting it requires an explicit pairing code. Remove the device from the Reach Account separately only when you also intend to revoke its account-level registration.
Nothing passes through Reach — screen, audio, and input never travel through Reach infrastructure. On the Relay route the packets cross Cloudflare TURN encrypted, and Cloudflare cannot read them.
No tracking — no tracking SDKs and no advertising identifiers in the apps. The backend records operational telemetry and logs to run and protect the service, never for advertising or profiling.
For signed-in Internet Direct and Relay attempts, signaling exchanges ephemeral connection candidates — IP addresses and ports. They are held for at most 60 seconds per attempt and removed when the attempt is cancelled or expires. The full detail is in the Privacy Policy.
Your workspace
The Reach Viewer workspace holds up to four independent Surfaces at once. That can be four displays of one trusted Mac, four different Macs, or any mix of the two.
Picking a display
A physical display
Show one of the Mac’s real monitors. Use this when you want to take over a screen that already exists.
An existing virtual display
Reuse a Reach-created display already sized for your viewer instead of making another one.
A new virtual display
Ask the Mac to create a display that fits the viewport, so the iPhone or iPad becomes an extra workspace rather than a mirror.
Refresh-rate aware reuse
Reuse takes refresh rate into account, so a virtual display created at 30 Hz will not cap a later 60 fps request.
Settings worth knowing
Cursor handle — in Direct Touch mode a small handle follows the Mac cursor so you can move the pointer precisely instead of aiming under your fingertip. The Mac side can switch it off in Reach Host → Devices & Trust → Advanced → Cursor Telemetry.
Scroll direction — two-finger touch scroll and trackpad scroll invert independently, so each input can feel the way it does natively.
Codec — HEVC and H.264 are both hardware accelerated, with adaptive bitrate over QUIC. The codec is negotiated with the Mac rather than picked by hand, and the Relay route starts on H.264 so the first frame arrives reliably.
Resolution, frame rate, and bitrate — Reach adapts on its own, and the viewer’s settings panel lets you cap resolution, frame rate, and a bitrate ceiling for a slower network. The resolution and frame rate you actually get depend on the selected Mac display, the viewer device, and the network.
Audio — the Mac's system audio output. It is not partitioned per display, so sound from apps outside the display you selected is included. On the viewer it follows the video timeline and resets a stale queue when audio drifts away from the picture.
Keyboard and pointer — hardware keyboards, pointers, and trackpads all map to the Mac, and Caps Lock toggles Korean and English input there. In portrait the on-screen keyboard shrinks the viewport rather than changing the Mac’s resolution.
Your Reach Account
The account is optional. It exists so your own devices can find and trust each other away from home, and so Internet Direct and Relay have a saved profile to work from.
What is stored
Your email address, used only to sign you in.
An account record: the account identifier and email, a server-held account signing key, and the metadata that manages sign-in state.
A device registry: for each registered device, its device identifier, name, type, public key, key fingerprint, TLS certificate fingerprint, and its registration, last-seen, and revocation times. For a Mac host it also holds the reachable address and port plus direct connection candidates so your other devices can dial it.
Sign-in state: short-lived session and refresh tokens, stored hashed with their expiry and rotation metadata, plus a magic-link token stored only as a hash and a six-digit fallback code stored as the code itself, each with its email, context, expiry, consumption, and attempt metadata.
If you use a passkey, the WebAuthn challenge and public passkey credential. Plus short-lived IP- and email-keyed request counters that protect the sign-in surface.
The backend runs on Cloudflare. It does not promise a specific processing region. It never holds screen, audio, or input content.
Managing devices, and deleting the account
Sign out clears the local sign-in on that device but leaves it registered.
Remove a device revokes one device’s account access without touching the others.
Delete account, from inside the app, removes the account record, every registered device, all sessions, pending login codes, and the WebAuthn challenges and passkey credentials tied to that account. WebAuthn challenges created before an account existed carry no account identifier and are not deleted by this operation; they stop being accepted at expiry, though the current deployment does not guarantee physical deletion at that moment. Short-lived abuse-prevention counters and operational logs are not targeted by that request either. Signing out is not deletion.
Troubleshooting
The Mac does not appear under Nearby
Check that Reach Host is running and sharing, in the Mac’s menu bar.
Both devices have to be on the same network. Guest and corporate Wi-Fi often block the Bonjour discovery Nearby depends on.
Check Local Network permission on both sides, plus any VPN or client-isolation setting on the router.
The screen stays black
Grant Screen Recording to Reach Host, then quit and reopen it — macOS can require a restart before that permission takes effect.
Pick the display again from the display picker.
Touch or keyboard input does nothing
Grant Accessibility to Reach Host, then quit and reopen it.
Reach Host refuses connections while any required permission is missing, so check Local Network and Screen Recording too, then reconnect from the viewer.
Black screen or dead input right after an app update
macOS resets Screen Recording and Accessibility when an app’s signature changes. Re-grant both in System Settings → Privacy & Security, then restart Reach Host.
It works at home but not remotely
Signed out, manual Direct IP is the only route that reaches a Mac off your network — confirm a routable public IPv4 endpoint rather than carrier-grade NAT, and if the Mac is behind a router or NAT, confirm its UDP mapping.
Signed in, try Internet Direct first, and fall back to Relay when no direct path can form.
Relay never connects
Relay needs valid Cloudflare TURN credentials entered in Reach Host. Check that they are present and have not expired.
A host network crowded with VPN or virtual interfaces can break relay setup. Try a cleaner network, or manual Direct IP.
Remember that Relay is a signed-in route. Signed out, it is not in the eligible set at all.
There is no audio
Turn on system-audio sharing on the Mac, and if permission needs repair use the Screen Recording / system-audio settings Reach Host opens for you. Reach does not request Microphone permission. It is optional, so a Mac set up without it connects fine but has no audio.
Check the audio indicator in the viewer. It reports separately when audio sharing is off on the host and when the Mac denied the audio permission.
Check that the session is not muted from the viewer’s control bar.
How do I report a problem?
Copy the failure report from the connection screen in Reach Viewer and send it to [email protected], or open an issue on GitHub. It carries the route, timings, and error for the attempt, with identifying details redacted.