개인정보처리방침 1.7
버전 1.7은 임시 번역 화면, Mac 단축키·클립보드, 구매 확인 정보, AI 다듬기, 사진 임시 파일과 웹 선택 번역 결과의 기존 처리 방식을 구체화하고, 출시 기념 선물의 구매 시기 확인, 서명된 공개 일정 조회와 호스팅 연결 정보 처리, 기기 내 일정·권한 저장 방식을 추가합니다. 첫 정식 앱 제공 전에 신규 이용자에게 처리 방식을 안내합니다. 앱은 아직 정식 공개되지 않았고, 실제 공개 시각과 선물 구매 마감 시각은 미정입니다.
첫 정식 제공 전 안내입니다. 이전 기간에 소급 적용하지 않으며, 향후 변경의 사전 공지는 제12항을 따릅니다. 이전 방침 1.6 · 전후 비교 요약 · 이용약관 1.5
버전 1.6 변경 사항: iPhone·iPad 앱의 "앱 열 때 자동 붙여넣기"가 기본값 켜짐이 되어, 번역 화면에서 앱을 열거나 돌아올 때, 번역 화면으로 옮길 때 또는 번역 화면 위의 설정 화면을 닫을 때 입력란이 비어 있으면 복사한 글을 읽어 기기 안에서 번역한다는 사실과 자동으로 읽지 않는 항목·그 한계, iOS의 붙여넣기 허용 확인, 번역 기록·iCloud 기록 동기화 처리를 명시했습니다(§5). 회사가 수집하거나 회사로 전송하는 정보의 범위는 바뀌지 않았습니다. 버전 1.5 변경 사항: Apple Account 전환 순간 server ACK가 확인되지 않은 신규 기록을 기기에 격리 보존하고, 새 계정을 재확인한 후 사용자가 병합을 명시적으로 승인하기 전에는 자동 전송하지 않는 계정 경계를 명시했습니다(§3). 버전 1.4 변경 사항: 사용자가 직접 켜는 iCloud 번역 기록 동기화의 전송 항목·저장 위치· 동기화 시점·OFF 중 변경·삭제·계정 변경·삭제 방법을 명시했습니다(§3·§4·§6~§9). 번역 처리는 계속 지원되는 기기 안에서 이루어지고, 단어장·사진·음성은 iCloud 기록 동기화 대상이 아닙니다. 버전 1.3 변경 사항: 지원 기기의 선택적 온디바이스 Apple Intelligence 문장 다듬기 처리를 제4항에 명시했습니다. 버전 1.2에서는 마주보기 대화(기기 연결) 기능을 추가하면서, 이용자가 직접 연결한 상대의 기기로 번역한 문장이 전달된다는 사실과 그 조건을 명시했습니다(§3·§4). 회사나 제3자의 서버를 거치지 않는다는 점은 그대로입니다. 아울러 즐겨찾기와 단어장이 서로 다른 저장소이며 보관 기준이 다르다는 점, 지원 문의의 보관 기간을 제2항과 일치시켰습니다. 버전 1.1 변경 사항: Apple 번역 프레임워크의 사용·성능 지표 수집 사실을 명시하고(§4), 개인정보의 파기 절차·방법(§8)과 안전성 확보 조치(§9), 개인정보 분쟁조정위원회 안내를 추가했습니다. 수집하는 정보의 범위가 늘어난 변경은 없습니다.
1. 총칙
비크(Beek)(이하 "회사")는 「개인정보 보호법」 등 관련 법령을 준수하며, macOS·iOS·iPadOS·watchOS 애플리케이션과 공유·위젯·Safari 확장, 별도 직접 배포판의 Chrome 확장으로 구성된 버녁(영문 표기 Bunyek, 이하 "앱")의 개인정보 처리에 관하여 다음과 같이 방침을 수립·공개합니다.
2. 앱의 자동 수집과 사용자가 보내는 지원 문의
앱은 번역 원문·결과·기록을 회사 서버로 자동 전송하지 않습니다. 출시 선물의 공개 일정 조회에 따른 연결 정보는 아래에서 별도로 설명합니다.
- 회원가입·로그인 절차가 없습니다.
- 이름, 이메일, 전화번호, 결제정보를 앱이 요구하지 않습니다.
- 기기 식별자(UUID·시리얼 번호 등)를 수집하거나 전송하지 않습니다.
- 앱에 사용자 행동 추적용 분석·광고·외부 크래시 리포트 SDK를 넣지 않으며 광고 식별자를 사용하지 않습니다. 공개 문서 호스팅의 접속 정보·집계는 아래 설명과 구분합니다.
- 회사는 자체 클라우드 번역 서버나 회원 계정 서버를 운영하지 않습니다. 공통 출시 일정 문서는 아래와 같이 Cloudflare Pages로 제공합니다.
출시 선물 공개 일정 조회와 호스팅 처리
앱은 출시 선물의 공통 시작·마감 시각을 확인하기 위해 https://bunyek.com/launch-gift/grimoire-v1.json의 서명된 공개 문서를 고정 HTTPS GET 요청으로 받습니다. 이번 Apple 구매 조회에서 정식 App Store(Production) 거래가 검증되고 최종 일정이 기기에 없을 때만 앱 시작·설정·미리보기·복원 과정에서 조회할 수 있습니다. 이전에 저장한 구매 확인값만으로 이 요청을 보내지 않습니다. Sandbox(TestFlight 포함)·Xcode 시험 환경이나 구매 확인 실패·미검증·알 수 없는 거래 환경에서는 일정 요청을 보내지 않습니다. 모든 이용자에게 같은 문서를 제공하며, 날짜와 서명을 확인한 최종 문서만 기기에 보관합니다. 대기 상태나 유효하지 않은 응답을 확정 일정으로 저장하지 않습니다.
요청 과정에서 IP 주소, 요청 시각, 요청 주소 및 공통 User-Agent(BunyekLaunchGift/1) 등
연결·HTTP 메타데이터가 호스팅 제공자에게 전달되거나 처리됩니다. 이 User-Agent는 이용자별 식별자가 아닙니다.
앱은 이 요청에 구매·거래 정보, Apple 계정 정보, 번역 원문·결과·기록을 넣지 않으며,
요청 본문·조회 매개변수(query)·쿠키·인증정보를 추가하지 않습니다.
이 문서 조회는 번역 내용을 외부에서 처리하는 기능이 아닙니다.
공개 문서는 Cloudflare Pages에서 제공합니다. Cloudflare는 서비스 제공·보안·트래픽 집계를 위해 IP와 네트워크 데이터를 처리할 수 있습니다. 현재 Pages Web Analytics는 꺼져 있고 도메인의 Logpush는 구독하지 않지만, 도메인 관리 화면에는 고유 방문자·요청 수 집계가 제공됩니다. 회사가 이 호스팅 집계를 확인할 수 있다는 사실과 앱에 사용자 행동 분석 SDK를 넣지 않는다는 사실은 서로 다릅니다. Cloudflare의 처리·보관은 Cloudflare 개인정보처리방침 제2·4·11항 등을 따릅니다. 보관 기간은 처리 목적과 법적 의무 등에 따라 달라지므로 여기서 일률적인 일수를 보장하지 않습니다.
사용자가 직접 보내는 지원 문의
사용자가 앱의 [문의하기] 또는 공개된 지원 이메일을 이용하면, 사용자가 직접 작성한 발신 이메일 주소·표시 이름·문의 본문·사용자가 첨부한 파일이 이메일 서비스로 전달되어 회사가 문의 답변과 분쟁 처리 목적으로만 확인할 수 있습니다. 이는 앱의 자동 수집이 아니며, 문의에 필요하지 않은 번역 원문·사진·음성·비밀번호 같은 민감한 내용은 보내지 마세요.
지원 문의는 답변과 후속 확인이 끝난 뒤 지체 없이 정리하고 원칙적으로 처리 완료 후 30일 이내 삭제합니다. 관계 법령 준수나 진행 중인 분쟁 대응을 위해 보존이 꼭 필요한 경우에만 해당 자료를 분리해 필요한 최소 기간 동안 보관한 뒤 삭제합니다. 지원 문의의 열람·정정· 삭제를 원하면 제11항의 이메일로 요청할 수 있습니다.
3. 앱이 사용자 기기 내부에서 처리하는 정보
아래 항목의 번역·인식 처리는 사용자의 기기 또는 연결된 Apple 기기에서 이루어지며 외부 번역 서버로 전송되지 않습니다. 저장 위치는 표와 같고, 사용자가 iCloud 기록 동기화를 켜면 번역 기록 일부는 Apple의 개인 CloudKit 데이터베이스에도 저장됩니다. 다만 이용자가 마주보기 대화를 직접 시작하고 화면의 숫자를 확인한 경우에 한해, 번역한 문장이 대화 상대의 기기로 전달됩니다(제4항). 이때에도 회사나 제3자의 서버는 거치지 않습니다.
| 항목 | 처리 목적 | 저장 위치 | 보관 기간 |
|---|---|---|---|
| 번역 원문 및 번역 결과 | 번역 기록 제공 | 기기 내 앱 공동 저장 영역. iCloud 기록 동기화를 켠 경우 Apple의 사용자 개인 CloudKit 데이터베이스 | 기본 보관 개수는 최근 200건이며 50·200·500·1,000건 중 선택할 수 있습니다. 보관 기간은 제한 없음(기본값)·1일·1주·1개월·3개월 중 사용자가 고릅니다. 설정한 기간이 지나면 로컬과 다음 동기화 대상에서 삭제됩니다. |
| 기록 ID·대상 언어·번역 시각·즐겨찾기 여부·보관 개수/기간 | 기기 간 기록 병합·삭제 및 보관 정책 적용 | iCloud 기록 동기화를 켠 경우 Apple의 사용자 개인 CloudKit 데이터베이스 | 본문이 있는 기록은 연결된 원문·번역 결과와 같은 기간입니다. 삭제하면 먼저 원문·번역문·언어·시각·즐겨찾기 값을 비운 기록 ID·세대·삭제 여부의 본문 없는 삭제 표식을 동기화한 뒤 CloudKit record 삭제를 요청합니다. 삭제 요청이 완료되기 전까지 표식이 일시적으로 남을 수 있으며, Apple의 서비스 보관·백업 정책은 별도로 적용될 수 있습니다. |
| 즐겨찾기 | 자주 쓰는 표현 표시 | 기기 내 앱 공동 저장 영역(번역 기록과 같은 저장소). iCloud 기록 동기화를 켠 경우 개인 CloudKit 데이터베이스 | 보관 개수 제한에서 일반 기록보다 우선하지만, 즐겨찾기도 사용자가 선택한 보관 기간이 지나면 삭제됩니다. 번역 기록 저장소의 전체 상한은 2,000건·텍스트 8MB입니다. |
| 단어장 | 학습 보조 | 기기 내 앱 공동 저장 영역(번역 기록과 별도 저장소) | 보관 기간 설정이 적용되지 않으며 기기당 최대 5,000개까지 사용자가 지우기 전까지 보관합니다. 항목별 삭제와 전체 비우기를 지원합니다. |
| Apple Account 연결 지문 | 다른 Apple Account의 개인 데이터베이스로 이전 기록이 섞이는 것을 차단 | Apple이 앱에 제공한 사용자 record 이름을 SHA-256으로 변환한 값만 기기 내 기록 저장소와 동기화 캐시에 보관. 회사 서버로 전송하지 않음 | 동기화 OFF 중에도 다음 재활성화 때 계정 변경을 판별하기 위해 남을 수 있습니다. 계정 변경을 감지해 이전 계정 기록을 정리하거나 관련 앱의 로컬 데이터를 삭제할 때 제거됩니다. |
| 카메라·사진·화면 캡처 이미지 | 문자 인식과 번역 | 처리 중 앱 메모리. 사진 보관함에서 고른 원본은 사진 입력 준비 중 앱의 보호된 임시 파일 | 카메라는 사진 한 장을 받은 뒤 닫힙니다. 사진 보관함에서 고른 이미지는 파일 보호가 적용된 임시 복사본으로 읽고 축소합니다. 임시 복사본은 실제 사진 준비 작업이 종료될 때 삭제하며, 화면에서 취소되거나 시간 제한에 도달해도 운영체제의 읽기·축소 작업이 아직 끝나지 않았다면 그 작업이 종료될 때까지 남을 수 있습니다. 현재 사진은 번역 결과를 표시하는 동안 메모리에 보관하고 새 사진 선택 또는 화면 종료 시 폐기하며, Mac 화면 캡처는 OCR 완료 후 폐기합니다. 사용자가 저장을 선택한 결과물만 사용자의 사진 또는 파일에 보관됩니다. |
| iPhone·iPad·Mac 마이크 입력 | 온디바이스 음성 인식과 대화 번역 | 처리 중 메모리 | 인식 완료 또는 취소 시 폐기 |
| Apple Watch 음성 녹음 | 페어링된 iPhone에서 온디바이스 음성 인식과 번역, 연결 중단 시 작업 복구 | Watch 앱 보호 저장 영역 및 페어링된 iPhone 앱 보호 저장 영역(백업 제외) | 성공·취소·최종 실패 시 삭제합니다. 전송 전 Watch 복구 파일은 생성 후 15분, iPhone 미완료 작업은 생성 후 7일을 보관 기준으로 삼고, 기한이 지난 항목은 해당 앱의 다음 실행·재개 또는 작업 조회·재시도 때 삭제합니다. |
| Apple Watch 결과 호환 사본 | 전달 실패·구버전·재연결 시 결과 동기화 | Watch와 페어링된 iPhone의 앱 설정 저장 영역 | 최초 완료 시각부터 24시간을 보관 기준으로 삼아 다음 앱 실행·결과 조회·재시도 때 지난 사본을 삭제합니다. 기록 전체 삭제 시 iPhone 사본은 즉시 삭제하고, Watch 사본은 연결 중이면 삭제 확인을 받으며 오프라인이면 다음 연결 때 삭제 요청을 전달합니다. |
| 웹페이지에서 사용자가 선택한 문장과 번역 결과 | Safari·Chrome 선택 번역과 결과 표시 | 확장 및 같은 기기의 네이티브 앱 메모리 | 요청 처리에 사용하는 메모리는 실제 작업이 끝나면 정리합니다. 결과 말풍선은 요청 완료 뒤에도 표시되며, 번역문과 Safari의 선택 원문은 말풍선이 닫히거나 다른 선택으로 교체되거나 페이지를 떠날 때까지 메모리에 남을 수 있습니다. 이 확장 기능은 원문·번역문을 파일이나 번역 기록으로 저장하지 않습니다. |
| 홈 화면·메뉴 막대 아이콘 선택 | 사용자가 선택한 아이콘 표시 | 운영체제의 앱 아이콘 설정(iPhone·iPad), 기기 내 앱 환경설정(Mac) | iPhone·iPad의 홈 화면 아이콘은 사용자가 스킨과 별도로 선택할 수 있으며, 선택 상태는 운영체제의 앱 아이콘 설정으로 관리됩니다. Mac의 메뉴 막대 아이콘 선택은 해당 기기의 앱 환경설정에 저장하며, 기본값은 선택한 화면 스킨을 따릅니다. 이 아이콘 선택은 iCloud 기록 동기화나 번역 기록 삭제 대상이 아닙니다. |
| 앱 환경설정 | 사용자 설정 유지 | 기기 내 앱 공동 저장 영역. 보관 개수·기간만 iCloud 기록 동기화를 켠 경우 개인 CloudKit 데이터베이스 | 사용자가 설정을 변경하거나 관련 로컬 앱을 삭제할 때까지. iCloud 사본은 아래 삭제 절차를 실행할 때까지 남을 수 있습니다. |
| 본앱 구매 확인 여부·원구매일, 확인된 스킨 상품 ID, 선택한 스킨 | 구매 확인·복원 및 선택한 스킨 유지 | 정식 본앱 구매 확인 여부·원구매일은 기기의 Keychain. 확인된 스킨 상품 ID와 선택한 스킨은 기기 내 앱 공동 환경설정 저장 영역 | 스킨 소유 상품 목록은 StoreKit 재확인 시 갱신하고, 선택한 스킨은 사용자가 바꾸거나 소유 상태에 따라 변경할 때 갱신합니다. 본앱 구매 확인 캐시에는 자동 만료를 두지 않습니다. 이 정보는 번역 기록 삭제와 별개로 남을 수 있습니다. |
| 출시 선물 확인에 쓰는 앱 원구매일·앱 구매의 환불/회수 시각·앱 거래 식별자·Apple 서명 시각·검증 결과·실판매/시험 환경 구분 | 대상 기간의 앱 구매 여부 확인, 재설치·복원 후 선물 재판정, 서로 다른 구매 기록 및 오래된 확인 결과 구분 | Apple StoreKit이 제공한 값을 앱 실행 중 메모리에서 처리. 앱 거래 식별자는 Apple 계정 이메일이나 비밀번호가 아님 | 메모리의 확인값은 새 검증 결과로 대체되거나 앱 실행이 종료될 때 정리됩니다. 이 상세값을 아래 선물 권한 캐시에 저장하지 않습니다. 본앱 구매 확인용 원구매일의 별도 Keychain 보관은 위 행과 같습니다. |
| 서명된 출시 선물 최종 일정 공개 문서 | 공통 시작·마감 시각 확인 및 재실행·오프라인 대상 판정 | 서명을 검증한 최종 문서만 기기 내 앱 공동 환경설정에 저장. 행사·앱·스킨 식별자, 공통 시작·마감 시각과 서명이 담긴 사용자별 정보가 아닌 문서 | 기존에 검증한 최종 일정을 유지하며 대기 상태·오류 응답으로 바꾸지 않습니다. 자동 만료를 두지 않고 관련 로컬 앱 환경설정이 제거되면 삭제됩니다. 번역 기록·단어장 삭제 및 iCloud 기록 동기화 대상이 아닙니다. 아래 사용자별 선물 권한 표시와 별도입니다. |
| 출시 선물 권한의 마지막 확인 표시(행사 식별자) | 확인된 별빛냥 스킨·해당 아이콘 사용권을 오프라인에서도 유지 | 실판매 환경에서 확인한 표시만 기기 내 앱 공동 환경설정에 저장. 유료 스킨 소유 상품 목록과 별도 | 자동 만료를 두지 않으며, 검증된 대상 외 구매 기록이나 앱 구매 환불/회수가 확인되면 갱신·삭제합니다. 일시적인 확인 실패만으로 기존 표시를 지우지 않습니다. 번역 기록 삭제와는 별개이며, 관련 로컬 앱 환경설정이 제거되면 삭제됩니다. 시험 환경에서 확인한 선물 권한은 해당 실행 중에만 유지합니다. |
출시 선물은 아직 제공 일정이 확정되지 않은 기능의 처리 안내입니다. 선물 제공 시 앱 시작·설정 또는 스킨 미리보기·사용자가 요청한 복원 과정에서 Apple의 검증된 앱 구매 기록을 다시 확인합니다. 실판매 환경에서는 서명된 최종 일정이 검증되어야 새 선물을 지급하며, 아직 일정을 확인하지 못한 경우 별빛냥의 유료 구매도 보류합니다. 번역 기능은 제한하지 않습니다. 기간 내 앱 구매자는 행사 종료 후 처음 실행하거나 재설치한 경우에도 원구매일로 대상 여부를 판정합니다. 회사는 위 구매 상세나 선물 확인 표시를 회사 서버로 받지 않으며, 앱의 iCloud 기록 동기화에도 포함하지 않습니다. 각 기기는 Apple의 구매 기록으로 다시 확인하고, 선물 제공을 위해 별도의 계정 서버나 기기 간 권한 동기화를 만들지 않습니다. 유료로 구입한 스킨의 소유·복원 권한은 선물 권한과 따로 확인합니다.
iCloud 기록 동기화는 새 설치에서 기본적으로 꺼져 있습니다. 사용자가 설정에서 전송 항목 설명을 읽고 직접 켠 경우에만, 같은 Apple Account로 로그인한 iPhone·iPad·Mac의 기록을 `iCloud.com.bunyek.app` 사용자 개인 데이터베이스에서 합칩니다. public/shared database는 사용하지 않고 회사는 개인 기록 본문을 Developer Portal에서 볼 수 없습니다. 앱을 열어 전면으로 가져오거나 [지금 동기화]를 누를 때 가져오기·보내기를 실행합니다. 동기화가 켜진 동안 저장된 기록이나 보관 설정이 바뀌거나 기록을 전체 삭제하면 동기화 작업을 예약하며, 실제 처리 시점은 기기와 네트워크 상태 등에 따라 달라질 수 있습니다. 운영체제가 백그라운드에서 계속 기록을 동기화하도록 두지 않습니다. 단어장·사진·음성· Watch 임시 파일은 이 기능으로 전송하지 않습니다.
동기화가 꺼진 동안의 로컬 추가·수정·삭제와 전체 삭제는 iCloud 작업으로 예약되지 않습니다. 같은 Apple Account에서 다시 켜면 새로 만든 기록과 기존 기록의 로컬 수정값을 전체 병합에 반영합니다. 다만 OFF 중 로컬에서만 지운 기록은 원격 사본 때문에 다시 나타날 수 있습니다. Apple Account 변경을 감지하면 계정 사이의 기록이 섞이지 않도록 이전 계정에서 확인된 로컬 기록과 동기화 캐시를 지우고 동기화를 끕니다. OFF 동안 새로 만들어 아직 어느 계정에도 업로드되지 않은 기록은 보존하며, 새 계정과의 병합을 다시 확인받기 전에는 전송하지 않습니다. 계정 전환 순간 server ACK가 확인되지 않은 신규 기록도 기기에 격리 보존합니다. 이 기록은 새 계정 fingerprint를 재확인하고 사용자가 병합을 명시적으로 승인하기 전에는 새 계정으로 자동 전송하지 않으며, 이전 계정의 기존 항목 수정값은 가져가지 않습니다. 단어장은 이 계정 변경 정리 대상이 아닙니다.
번역 기록은 앱의 [기록] 탭 → 개별 삭제 또는 전체 삭제로 지울 수 있습니다. 설정에서 기록 저장을 끄면 이후 새 번역을 기록에 남기지 않으며, 기존 기록을 유지할지 즐겨찾기까지 모두 삭제할지 사용자가 선택합니다. 기록 저장을 끈 동안 잠금 화면 위젯용 사본도 비웁니다. iPhone·iPad·Mac의 이전/다음 번역은 현재 실행 중 최대 20개 화면의 텍스트를 메모리에만 임시 보관합니다 (총 240,000자·UTF-8 텍스트 1MiB, 즉 1,048,576바이트 상한). 기록 저장을 꺼도 사용할 수 있지만 파일이나 iCloud에는 저장하지 않습니다. 입력 지우기·기록 전체 삭제·앱 종료 시 비우며, 개별 기록을 삭제하면 관련 임시 화면도 제거합니다. iCloud 동기화를 끄거나 앱을 삭제하는 것만으로 기존 iCloud 사본은 삭제되지 않습니다. iCloud에 저장된 원문·번역문과 다른 기기의 기록까지 지우려면 동기화를 켠 상태에서 기록 전체 삭제를 실행하고, [지금 동기화] 뒤 최신 상태가 표시되는 것을 확인한 다음 동기화를 끄거나 앱을 삭제하세요. 앱을 이미 삭제했다면 같은 Apple Account로 다시 설치해 이 절차를 실행할 수 있습니다. 위 표의 본문 없는 삭제 표식은 CloudKit record 삭제 요청이 완료될 때까지 일시적으로 남을 수 있습니다.
4. 온디바이스 번역 및 기기 간 처리
Apple이 지원되는 운영체제에 제공하는 온디바이스 번역 기능만 사용합니다. 번역할 원문과 번역 결과를 회사 또는 제3자의 번역 서버로 전송하지 않습니다. 최초 사용이나 새 언어 추가 시 운영체제가 Apple로부터 언어팩을 내려받기 위해 인터넷 연결을 요구할 수 있으며, 설치가 끝난 지원 언어의 실제 번역 처리는 기기 안에서 이루어집니다.
- iCloud 기록 동기화는 번역 엔진이 아닙니다. 사용자가 직접 켠 경우에만 이미 저장된 기록을 Apple의 개인 CloudKit 데이터베이스로 보내며, 실제 번역·OCR·음성 인식은 계속 지원되는 기기 안에서 처리합니다.
- 지원되는 iOS·iPadOS·macOS 26 이상 기기에서 Apple의 온디바이스 Foundation Models를 사용할 수 있으면 선택적으로 번역을 다듬을 수 있습니다. 영어로 번역하는 원문이 300자 이하일 때 해당 원문을 기기 내 모델로 다시 처리하며, Mac의 구역별 캡처 번역은 각 구역의 원문 길이로 판단합니다. 이 기능은 기본적으로 꺼져 있고 설정에서 켤 수 있습니다. 적용된 결과의 기록 저장과 iCloud 동기화는 제3항의 사용자 설정을 따르며, 다듬기 처리를 위해 원문이나 결과를 회사 또는 외부 번역 서버로 보내지 않습니다.
- Apple Watch에서 요청한 텍스트와 사용자가 직접 녹음한 음성 파일은 WatchConnectivity를 통해 사용자의 페어링된 iPhone으로 전달됩니다. iPhone이 온디바이스로 음성을 인식하고 번역 결과를 Watch에 돌려줍니다.
- Watch 음성 파일과 복구 정보는 전송 중단이나 앱 재실행 뒤 작업을 이어가기 위해 위 표의 기간 동안 두 기기의 앱 보호 저장 영역에 임시 보관되며, iCloud 백업 대상에서 제외됩니다.
- Chrome에서 선택한 문장은 Native Messaging을 통해 같은 Mac의 버녁 호스트로 전달되어 번역됩니다.
- Safari 확장도 사용자가 선택한 문장만 같은 기기의 네이티브 확장으로 전달합니다.
- 마주보기 대화(기기 연결)를 사용하면, 이용자가 말한 내용을 이용자의 기기에서 인식·번역한 뒤 그 결과 문장을 대화 상대의 기기로 직접 전달합니다. 음성·사진·기기 식별자는 전달하지 않으며, 전달되는 것은 원문과 번역문 텍스트뿐입니다. 이 통신은 두 기기가 같은 자리에서 직접 연결되는 방식(로컬 네트워크)이며 회사나 제3자의 서버를 거치지 않습니다. 연결은 두 기기가 각각 만든 일회용 키로 암호화되고, 이용자가 양쪽 화면의 숫자를 확인한 뒤에만 문장이 오갑니다. 전달된 문장은 상대 기기의 번역 기록에 저장되며, 그 이후의 보관과 삭제는 상대 기기 사용자의 설정을 따릅니다. 대화를 끝내거나 앱을 닫으면 연결이 종료됩니다.
- Apple의 번역 프레임워크는 Apple이 공개한 문서에 따라 서비스 개선을 위한 사용·성능 지표(앱 번들 ID, 원문 언어와 번역 대상 언어 등)를 Apple에 수집할 수 있습니다. 이 지표에는 번역한 원문이나 번역 결과의 내용이 포함되지 않습니다. 회사는 이 지표를 수신하거나 열람하지 않으며, 해당 처리의 주체는 Apple입니다.
5. 시스템 권한 사용
| 권한 | 사용 시점 | 처리 방식 |
|---|---|---|
| 화면 기록 | 사용자가 [OCR 캡처] 버튼을 눌러 영역을 지정할 때만 | 선택 영역 이미지를 메모리에서만 문자 인식에 사용하며, 파일로 저장하거나 전송하지 않습니다. |
| 카메라·사진 | 사용자가 카메라 번역, 사진 불러오기 또는 결과 저장을 선택할 때 | 문자 인식과 번역을 기기에서 처리합니다. 결과 이미지는 사용자가 저장을 선택한 경우에만 사진 보관함에 기록합니다. |
| 마이크·음성 인식 | 사용자가 대화 번역 또는 음성 입력을 시작할 때 | 온디바이스 음성 인식을 강제하며, 지원 자산이 없는 경우 외부 서버로 보내지 않고 기능을 중단해 안내합니다. iPhone·iPad 대화와 Watch 연속 대화는 앱이 실제 백그라운드로 이동하거나 대화 화면을 벗어나면 종료합니다. 제어 센터·시스템 시트처럼 잠깐 inactive가 되는 동안에는 진행 중인 대화가 유지될 수 있습니다. Mac 대화는 앱 전환 또는 대화 창 종료 시 종료합니다. Watch의 사용자가 직접 저장한 녹음은 페어링된 iPhone에서 처리하기 위해 위 제3항의 방식으로 임시 저장·전달됩니다. |
| 클립보드 읽기 (iPhone·iPad) | 설정 "앱 열 때 자동 붙여넣기"가 켜져 있을 때 (기본값 켜짐, 설정에서 끌 수 있음), 번역 화면이 선택되어 있고 그 위에 설정 화면이 떠 있지 않은 상태에서 앱을 열거나 앱으로 돌아올 때, 다른 화면에서 번역 화면으로 옮길 때, 또는 번역 화면 위의 설정 화면을 닫을 때 번역 입력란이 비어 있으면 복사한 글을 읽습니다. 카메라·대화·기록 등 다른 화면이 보이는 동안이나 번역 화면 위에 설정 화면이 떠 있는 동안에는 읽지 않습니다. 버녁의 붙여넣기 링크(bunyek://paste)로 앱을 연 경우, 예를 들어 위젯의 [붙여넣기]나 제어 센터·잠금 화면·동작 버튼에 둔 [번역] 컨트롤로 연 경우에는 설정 화면을 닫고 번역 화면으로 옮기며, 그 요청에 한해 입력란에 글이 있어도 읽습니다. 다음 항목은 이 붙여넣기 링크 요청을 포함해 자동으로 읽지 않습니다. ① 비밀번호 관리자 등이 붙이는 기밀 표식(ConcealedType·TransientType·AutoGeneratedType)이 있는 항목, ② 버녁 앱의 복사 버튼이나 공유 확장의 [번역문 복사] 버튼으로 복사한 글(버녁이 표식을 함께 넣습니다), ③ 이미 확인한 복사, 즉 앱이 자동으로 붙이려 했던 복사, 사용자가 [붙여넣기] 버튼으로 직접 붙여넣은 복사, 버녁 앱이 화면 맨 앞에 있는 동안(버녁을 쓰는 동안) 새로 생긴 복사. ③에 따라 버녁 앱 안에서 길게 누르기 메뉴나 공유 시트로 복사한 글은 다른 앱에 다녀오거나 번역 화면으로 옮겨도 자동으로 붙지 않으며, 이 기록은 앱을 다시 실행해도 유지됩니다. 앱을 열 때 이미 클립보드에 있던 다른 앱의 복사는 그때 읽지 않았더라도(예: 입력란에 글이 있었거나 다른 화면이 보였던 경우) ③으로 기록하지 않으므로, 나중에 위 조건이 맞으면 읽을 수 있습니다. 다만 버녁 표식이 없는 복사에는 한계가 있습니다. 공유 확장에서 결과 글을 길게 눌러 복사한 글은 버녁 앱이 화면 맨 앞에 있지 않을 때 생긴 복사라 ②·③에 해당하지 않아, 본앱을 열 때 자동으로 읽힐 수 있습니다. 자동으로 읽지 않은 경우와 설정을 끈 경우에는 사용자가 [붙여넣기] 버튼으로 직접 붙여넣을 때만 입력란에 들어갑니다. | 읽은 글은 번역 입력란에 넣고 제4항의 온디바이스 방식으로 번역하며, 번역을 위해 회사나 제3자의 서버로 보내지 않습니다. 원문과 번역 결과는 직접 입력해 번역한 경우와 똑같이 제3항의 번역 기록에 저장되고(설정에서 기록 저장을 끈 경우 제외), 사용자가 iCloud 기록 동기화를 켠 경우에는 그 기록이 제6항에 따라 Apple의 사용자 개인 CloudKit 데이터베이스로 전송되어 동기화됩니다. 다른 앱에서 복사한 글을 읽을 때 iOS가 붙여넣기 허용 여부를 물을 수 있으며, 거부하면 앱은 그 내용을 받지 못합니다. iOS 설정의 버녁 항목에서 [다른 앱에서 붙여넣기]를 묻기·거부·허용 중에서 고를 수 있습니다. |
| 키보드 단축키 (Mac) | 기본 Shift·Option 방식이 선택되고 전역 단축키를 켜 둔 동안 해당 동작을 감지합니다. 입력 모니터링 권한은 요청하지 않습니다. 설정에서 단축키를 끄거나 [키 조합 직접 지정]으로 바꿀 수 있습니다. | 보조 키 상태·해당 보조 키 코드와 마우스 클릭을 수동으로 관찰합니다. 다른 앱의 일반 키 누름 이벤트를 직접 구독하지 않으며, 타이핑이 끼어들었는지는 시스템이 제공하는 세션 전체 키 누름 누계·최근 키 누름 시각의 숫자값으로 확인해 진행 중인 단축키 동작을 취소합니다. 입력한 글자를 읽거나 저장하지 않고, 입력 이벤트를 차단하거나 바꾸지 않습니다. 사용자가 지정한 키 조합은 macOS 단축키 등록 기능을 사용합니다. |
| 클립보드 읽기 (Mac) | 설정 "팝업 열 때 클립보드 자동 번역"이 켜져 있을 때 (기본값 켜짐, 설정에서 끌 수 있음), 단축키나 메뉴 막대로 팝업을 열 때 클립보드의 글을 읽습니다. 열린 팝업에서 단축키를 다시 사용하면 팝업이 닫히며, 닫는 동작에서는 클립보드를 읽지 않습니다. 같은 실행 중 이미 처리한 복사는 다시 넣지 않으며, 같은 글도 다른 앱에서 새로 복사하면 반영합니다. 버녁에서 복사한 결과는 자동으로 다시 넣지 않습니다. 앱을 다시 실행하면 클립보드에 남아 있던 글을 다시 넣을 수 있습니다. 비밀번호 관리자가 붙이는 기밀 표식(ConcealedType 등)이 있는 클립보드는 이 설정과 무관하게 읽지 않습니다. | 읽은 내용은 번역 입력란에 표시되고 제4항의 온디바이스 방식으로 처리됩니다. 번역 결과는 직접 입력해 번역한 경우와 똑같이 제3항의 번역 기록 설정을 따릅니다. |
| 웹사이트 접근 | 사용자가 Safari·Chrome 확장에서 선택 번역을 실행할 때 | 선택한 문장을 읽어 같은 기기에서 번역하기 위한 용도로만 사용합니다. |
6. 제3자 제공 및 처리위탁
출시 선물 공개 문서의 제공에는 Cloudflare Pages를 이용합니다. 이 과정의 연결 정보·호스팅 집계와 보관 기준은 제2항의 공개 일정 조회와 호스팅 처리에 설명합니다. 구매·계정·번역 내용을 호스팅 요청에 포함하지 않습니다.
앱은 번역 내용이나 사용 기록을 회사에 자동 전송하지 않으며, 별도의 클라우드 번역 사업자에게 번역 요청을 제공하지 않습니다. 다만 사용자가 iCloud 기록 동기화를 직접 켜면 제3항의 기록 항목이 Apple의 CloudKit 서비스에 있는 사용자의 개인 데이터베이스로 전송됩니다. 이 데이터는 같은 Apple Account의 지원 기기에서 동기화하기 위한 것이며, Apple 문서상 기본적으로 사용자만 접근하고 Developer Portal에는 표시되지 않습니다. Apple의 서비스 약관과 개인정보 보호에 관한 내용은 사용자의 Apple Account 및 Apple 정책이 적용됩니다.
사용자가 직접 보낸 지원 문의는 메일이 오가는 과정에서 사용자가 선택한 이메일 서비스와 회사가 사용하는 이메일 서비스를 거칩니다.
회사의 지원 메일함은 Google LLC의 Gmail로 전달되어 보관됩니다. 이에 따라 지원 문의에 담긴 개인정보가 국외로 이전되며, 그 내용은 다음과 같습니다.
| 이전받는 자 | Google LLC |
|---|---|
| 이전되는 국가 | 미국 |
| 이전 항목 | 이메일 주소, 문의 내용에 사용자가 스스로 적은 정보(성명·기기 정보 등) |
| 이전 일시 및 방법 | 사용자가 문의 메일을 보낸 시점에 정보통신망을 통해 전송 |
| 이용 목적 | 문의 접수·보관 및 회신 |
| 보유·이용 기간 | 제2항과 같습니다 — 문의 처리 완료 후 30일 이내 삭제가 원칙입니다. 다만 해당 문의가 「전자상거래 등에서의 소비자보호에 관한 법률」상 소비자의 불만 또는 분쟁 처리에 관한 기록에 해당하는 경우에는 같은 법이 정한 3년 동안 분리 보관한 뒤 삭제합니다. |
국외 이전을 원하지 않으시면 메일 대신 App Store 리뷰나 앱 내 안내 경로로 문의하실 수 있습니다. 다만 그 경우 개별 회신이 어려울 수 있습니다.
단어장
번역 결과에서 사용자가 직접 담은 낱말은 뜻·출처 문장과 함께 기기 안 단어장에 보관됩니다. 단어장은 위 번역 기록과 별도의 저장소로, 보관 기간 설정이 적용되지 않고 기기당 최대 5,000개까지 사용자가 지우기 전까지 보관됩니다. 항목별 삭제와 전체 비우기(설정)를 제공하며, 기기 밖으로 전송되지 않습니다.
7. 이용자의 권리
앱의 번역 기록은 앱 내 [기록] 탭에서 직접 열람하고 내보내며, 즐겨찾기 상태를 변경하거나 개별·전체 삭제할 수 있습니다. iCloud 동기화를 켠 경우 로컬 사본과 개인 CloudKit 사본에 같은 변경을 보내며, 다른 기기는 앱을 열거나 수동 동기화할 때 반영합니다. 지원 문의로 회사에 직접 보낸 정보의 열람·정정·삭제가 필요한 경우 아래 연락처로 요청할 수 있습니다.
8. 개인정보의 파기 절차 및 방법
회사는 보유 기간이 지나거나 처리 목적이 달성된 개인정보를 지체 없이 파기합니다.
- 파기 절차: 지원 문의로 수신한 메일은 문의 처리가 끝나고 위 표의 보유 기간이 지나면 파기 대상으로 분류되며, 보호책임자의 확인을 거쳐 파기합니다.
- 파기 방법: 전자적 파일 형태의 정보는 복구할 수 없는 방법으로 영구 삭제하고, 종이에 출력된 정보가 있는 경우 분쇄하거나 소각합니다.
- 앱·iCloud 정보: 앱의 로컬 번역 기록과 단어장은 회사가 보유하지 않습니다. 로컬 사본은 앱에서 직접 삭제할 수 있고 관련 앱을 삭제하면 해당 앱의 로컬 사본이 제거됩니다. 단, 동기화를 끄거나 앱을 삭제하는 것만으로 개인 CloudKit 사본은 삭제되지 않습니다. iCloud 사본까지 지우는 절차는 제3항과 같습니다. 단어장은 iCloud 동기화 대상이 아닙니다.
9. 개인정보의 안전성 확보 조치
- 처리하는 개인정보의 최소화: 별도 회원 계정·클라우드 번역 서버·앱 내 사용자 행동 분석 SDK를 운영하지 않습니다. 공개 일정 요청에는 구매·계정·번역 정보를 넣지 않습니다. 이 요청의 호스팅 연결 정보와 사용자가 보낸 지원 문의는 제2항에 구분해 설명합니다.
- 저장 보호: 앱의 로컬 기록과 단어장은 운영체제가 제공하는 앱 보호 저장 영역에 보관되어 다른 앱이 접근할 수 없습니다. 사용자가 동기화를 켠 기록은 Apple의 사용자 개인 CloudKit 데이터베이스에 저장되며, 기본적으로 사용자만 접근하고 Developer Portal에는 표시되지 않습니다. 정식 본앱 구매 확인 여부·원구매일은 기기의 Keychain에, 확인된 스킨 상품 ID와 선택한 스킨은 앱 공동 환경설정 저장 영역에 보관합니다. 스킨 결제·복원은 Apple의 StoreKit을 통해 처리합니다. 앱은 소유 상태를 판단하기 위해 상품 ID·거래 ID·서명 시각·검증 및 회수 여부·가족 공유 여부를 실행 중 메모리에서 처리하며, 이 거래 상세를 스킨 소유 캐시에 저장하지 않습니다. 회사 서버로 구매 확인 정보를 보내지 않습니다.
- 전송 구간 보호: 이 웹사이트는 HTTPS로 제공되며, 앱 안에서 여는 개인정보처리방침·이용약관·지원 링크는 모두 HTTPS 주소입니다.
- 접근 권한 관리: 지원 메일함은 보호책임자 1인만 접근하며, 접근 계정에는 2단계 인증을 적용합니다.
- 권한 최소화: 앱은 필요한 시점에만 권한을 요청하며, 음성 인식은 기기 내 처리만 사용하도록 강제합니다.
10. 아동의 개인정보
앱은 이용자의 나이를 확인하거나 별도 회원 정보를 요구하지 않습니다. 공개 일정 조회의 호스팅 연결 정보는 제2항에서 설명합니다. 만 14세 미만 아동은 법정대리인의 동의 없이 지원 메일로 개인정보를 보내지 말아야 하며, 회사가 동의 없이 전달된 아동의 개인정보를 확인하면 지체 없이 삭제합니다.
11. 개인정보 보호책임자 및 문의처
- 상호: 비크(Beek)
- 대표자: 손태섭
- 개인정보 보호책임자: 손태섭
- 이메일: sont0729@gmail.com
- 주소: 충청북도 증평군 증평읍 역전로 28, 403호
개인정보 침해에 관한 상담이 필요한 경우 개인정보침해신고센터(privacy.kisa.or.kr, 국번없이 118), 대검찰청 사이버수사과(1301), 경찰청 사이버수사국(182)에 문의하실 수 있습니다.
개인정보 처리에 관한 분쟁의 조정이 필요한 경우 개인정보 분쟁조정위원회(www.kopico.go.kr, 국번없이 1833-6972)에 조정을 신청하실 수 있습니다. 또한 회사의 처분에 대해 「행정심판법」에 따라 행정심판을 청구할 수 있습니다.
12. 방침의 변경
이 방침이 변경되는 경우 시행일 최소 7일 전에 본 페이지를 통해 공지합니다. 이용자에게 불리한 중대한 변경의 경우 30일 전에 공지합니다.
Privacy Policy — English Summary
Notice before the first public release, without retroactive effect. Future changes remain subject to the advance-notice commitments in section 12. Previous policy 1.6 · Changes at a glance
This English summary is provided so English-speaking users can understand the material privacy terms. The complete Korean notice above is the governing text if the two versions differ, to the extent permitted by applicable law. Read the complete Korean notice.
Version 1.7 also describes purchase-date verification, signed public-schedule retrieval, hosting connection metadata, and local schedule and entitlement storage for the launch gift. The app has not yet been publicly released. Its actual first-public-release time and gift purchase cutoff have not been set; publishing this notice does not activate the gift.
Public gift schedule and hosting
The app retrieves a signed public document using a fixed HTTPS GET to https://bunyek.com/launch-gift/grimoire-v1.json. This may occur during app launch, Settings, skin preview, or restore only when the current Apple purchase lookup verifies a production App Store transaction and no verified final schedule is on the device. A previously cached purchase result alone does not trigger this request. Sandbox (including TestFlight) and Xcode environments, failed or unverified purchase lookups, and unknown transaction environments make no schedule request. Every user receives the same schedule. Only a final document with valid dates and signature is cached; pending or invalid responses are not stored as final.
The hosting provider receives or processes connection and HTTP metadata such as the
IP address, request time, requested address, and common User-Agent (BunyekLaunchGift/1).
This User-Agent is not a per-user identifier. The app adds no purchase or transaction
information, Apple Account information, source text, translations, or history; no request body,
query parameters, cookies, or credentials to this request. This does not send content
away for translation.
Cloudflare Pages hosts the document. Cloudflare may process IP and network data to provide and secure its services and compile traffic aggregates. Pages Web Analytics is currently disabled and the domain has no Logpush subscription; domain-level unique-visitor and request aggregates remain available to Beek. Those hosting aggregates are separate from an in-app behavioral analytics SDK. See sections 2, 4, and 11 of Cloudflare's Privacy Policy. Retention depends on processing purposes and legal obligations; we do not promise one fixed number of days here.
Collection and support inquiries
- The app does not require a name, email address, phone number, payment details, login, or account.
- The app does not send app-generated device identifiers or advertising identifiers and includes no behavioral analytics, advertising, or third-party crash-report SDK. Public-document hosting metadata and aggregates are described separately below.
- If you contact support, your sender address, display name, message, and attachments are delivered through email services and used only to answer the request or handle a dispute. Do not include unnecessary source text, photos, audio, passwords, or other sensitive data.
- Beek's support mailbox is provided through Gmail by Google LLC in the United States. Support data is normally deleted within 30 days after the request is completed. A consumer complaint or dispute record may be separated and retained for three years when Korean law requires it.
On-device and device-to-device processing
- Translation, OCR, and supported speech recognition run on the user's device or paired Apple devices. A first translation or a new language may require Apple to download a language pack. Bunyek does not send source text or translated text to its own server or a cloud translation provider.
- Optional refinement is available on supported devices running iOS, iPadOS, or macOS 26 or later when Apple's on-device Foundation Models are available. For translations into English, the model processes the source text again if that source is no longer than 300 characters. Mac capture translations apply this limit to each text region separately. Refinement is off by default and can be enabled in Settings. Accepted results follow the same history-saving and iCloud-sync choices described below. Source text and results are not sent to Bunyek or an external translation server for refinement.
- Watch voice requests and user-made recordings are sent through WatchConnectivity to the user's paired iPhone for on-device recognition and translation. Safari sends only selected text to its native extension on the same device; Chrome sends selected text to Bunyek's native host on the same Mac.
- In Face-to-Face Conversation, the app sends original and translated text directly to the other device only after both users verify the displayed number. The peer connection uses one-time encryption keys and does not pass through Beek's server. Audio, photos, and device identifiers are not sent. Received text may be saved under the recipient's history settings.
- Apple states that its Translation framework may collect service usage and performance metrics, such as the app bundle ID and language pair, but not the content of source or translated text. Beek does not receive or view those metrics.
Optional iCloud history sync
-
The feature is off by default. If you explicitly enable it in Settings,
Bunyek merges saved history through container
iCloud.com.bunyek.appin your private CloudKit database across iPhone, iPad, and Mac signed in to the same Apple Account. It does not use the public or shared database. Apple states that private-database content is accessible only to the user by default and is not visible in the Developer Portal. - Synced fields are the source and translated text, target language, date, favorite status, deletion markers, and history limit and retention setting. Vocabulary, photos, audio, Watch recovery files, and unrelated settings are not included. Translation, OCR, and speech recognition remain on device.
- Sync runs when the main app opens or returns to the foreground, after a saved-history change, or when you choose Sync Now. Bunyek disables CloudKit's automatic background sync and does not give CloudKit access to its Watch, Share, Widget, or Safari extensions.
- Local additions, edits, and deletions made while sync is off are not queued as CloudKit operations. Re-enabling under the same Apple Account performs a full merge that carries new local records and local edits to existing records. A record deleted only locally while sync was off can still return from the private database.
- If the Apple Account changes, Bunyek clears confirmed history, edits, and sync cache linked to the previous account and turns sync off. Never-uploaded records created while sync was off are kept. New records whose previous-account server acknowledgement is uncertain are also kept in quarantine on this device, but are not sent to the new account until Bunyek rechecks its fingerprint and you explicitly approve the merge. Existing-record edits bound to the previous account are not carried over. Vocabulary is not part of this account-bound history cleanup.
Local storage and retention
- Translation history: stored in the local app group and, only when iCloud history sync is enabled, in the user's private CloudKit database. The default limit is 200 recent items; the user may select 50, 200, 500, or 1,000 and a retention period of no expiry, one day, one week, one month, or three months. The store has a hard ceiling of 2,000 items and 8 MB of text.
- Favorites: stored with history and prioritized within its item limit, but favorites are also deleted when the selected history retention period expires.
- Content-free deletion markers: after a synchronized deletion, Bunyek first clears source text, translated text, language, date, and favorite values from the CloudKit record, then requests deletion of that record. Its record ID, generation, and deleted flag may remain temporarily until the deletion request succeeds. Apple's own service retention and backup policies may also apply.
- Vocabulary: a separate local store of up to 5,000 entries per device. History retention does not apply; entries remain until the user deletes them. Vocabulary is not included in iCloud history sync.
- Apple Account binding fingerprint: Bunyek hashes the Apple-provided user record name with SHA-256 and stores only that hash in the local history store and sync cache. It is not sent to Beek. It can remain while sync is off so the app can detect an account change, and is removed when account-bound history is purged or the relevant local app data is deleted.
- Images and microphones: a Photo Library input is read and downsampled through a protected temporary copy. That copy is deleted when the actual photo-preparation task ends. If the operating system is still reading or downsampling after the interface is cancelled or times out, the copy may remain until that task ends. The current image stays in memory while results are shown and is discarded when replaced or the screen is exited. Mac screen captures are discarded after OCR. iPhone, iPad, and Mac microphone input is held in memory until recognition completes or is cancelled. Only an export the user chooses to save remains in Photos or Files.
- Watch recovery data: a Watch recording awaiting transfer has a 15-minute retention rule; an unfinished iPhone-side job has a seven-day rule. Expired data is removed on a later launch, resume, status check, or retry. A compatibility copy of a completed Watch result has a 24-hour retention rule from its first completion time.
- Selected web text and results: processed in extension and same-device native-app memory. Request-processing memory is released when the actual work ends. A result bubble remains visible after the request completes; the translation and, in Safari, the selected source text can remain in memory until the bubble is dismissed, replaced by a different selection, or the page is left. These extensions do not save source text or results to files or translation history.
- App preferences: remain locally until changed or the relevant app is deleted.
- Home Screen and menu bar icon choices: On iPhone and iPad, you can choose the Home Screen icon independently of the appearance; the operating system manages the selected app icon. On Mac, the menu bar icon preference is stored in the app preferences on that device and follows the selected appearance by default. These icon choices are not part of iCloud history sync or translation-history deletion.
- Purchase confirmation and skins: confirmation of a production app purchase and its original purchase date are cached in the device Keychain. Confirmed skin product IDs and the selected skin are stored in local App Group preferences. StoreKit confirmations update the owned product list; choosing a skin or a change in ownership can update the selected skin. The app-purchase confirmation cache has no automatic expiry. These values are separate from translation history and can remain after that history is deleted. Skin purchases and restores use Apple's StoreKit. To determine ownership, the running app processes product and transaction IDs, signing dates, verification and revocation states, and family-sharing status in memory; those transaction details are not saved in the skin-ownership cache. Bunyek does not send purchase-confirmation information to its own server.
- Launch-gift verification: when the gift is enabled, the running app processes the original app-purchase date, app-purchase revocation date, app transaction identifier, Apple signing date, verification result, and production/test environment supplied by StoreKit. The app transaction identifier is not an Apple Account email address or password. These details are kept in memory to check eligibility, distinguish purchase records, and reject older results; they are replaced by new verified information or cleared when the app stops running. They are not written to the gift-entitlement cache. The separate app-purchase Keychain cache described above may retain the original purchase date.
- Signed final-schedule cache: the app stores only a verified final public schedule in local App Group preferences. It contains the campaign, app, and skin identifiers, common start/end times, and signature, not per-user information. It supports eligibility checks after relaunch or while offline. A verified final schedule is not replaced by pending or failed responses, has no automatic expiry, and is removed with the relevant local app preferences. It is separate from the gift-entitlement marker below and is not part of history/Vocabulary deletion or iCloud history sync.
- Launch-gift entitlement cache: only a gift confirmation from the production environment is stored in local App Group preferences, as a campaign identifier separate from the list of paid skin products. This permits previously confirmed access to the Starlight Grimoire Cat skin and its icons while offline. The marker has no automatic expiry. A verified ineligible purchase record or app-purchase revocation updates or removes it; a temporary verification failure does not erase the previous confirmation. Deleting translation history does not clear this marker. It is removed if the relevant local app preferences are removed. Test-environment gift access lasts only for that run and is not retained as a production cache.
- Gift checks and restoration: the app rechecks the Apple-verified purchase when the app starts, when Settings or a skin preview is opened, and during a user-requested restore. The original purchase date can establish eligibility even if a qualifying customer first opens or reinstalls the app after the campaign ends. Paid skin purchases and their restoration remain separate from the gift entitlement. Bunyek does not send these purchase details or the gift marker to its own server or include them in iCloud history sync; each device checks Apple's purchase information independently. No separate account server or device-to-device gift-entitlement sync is added. In production, a verified signed final schedule is required for a new grant. If eligibility remains unknown, purchase of this skin is held back; translation remains available.
Deletion, permissions, and user choices
- Delete individual history items or all history in the History tab. Turning off history prevents new saves and lets you keep existing history or erase it, including favorites. Vocabulary entries can be deleted individually or cleared in Settings. Previous/Next Translation on iPhone, iPad, and Mac keeps up to 20 screens temporarily in process memory only, capped at 240,000 characters and 1 MiB (1,048,576 bytes) of UTF-8 text. It works with history saving off, without writing these screens to files or iCloud. Clear input, clear all history, or quit to discard them; deleting a saved history item also removes its related temporary screens.
- Turning iCloud sync off or deleting the app does not delete an existing iCloud copy. To delete synchronized source and translated text from the private database and other devices, leave sync on, clear all history, choose Sync Now, and wait for the up-to-date status before turning sync off or uninstalling. If the app has already been removed, reinstall it under the same Apple Account and complete those steps. A content-free deletion marker described above may remain temporarily until its CloudKit record deletion request succeeds.
- Local companion apps and extensions can have separate containers. Use the app's clear-history control before uninstalling if you also want to remove local copies.
- Camera, Photos, microphone, speech recognition, screen recording, clipboard, and website access are used only for the feature the user invokes, except for the clipboard auto-paste settings described below.
- iPhone and iPad clipboard: Auto-Paste on Open is on by default and can be turned off in Settings. When the Translate screen is selected with no Settings sheet open over it, and the input field is empty, Bunyek reads the copied text as the app opens or returns to the foreground, when you switch to the Translate screen, or when you close Settings over the Translate screen. It places the text in the input field and translates it on device. It does not read the clipboard while another screen, such as Camera, Conversation, or History, is showing, or while Settings is open over the Translate screen. When Bunyek is opened through its paste link (bunyek://paste), such as the widget's Paste button or the Translate control in Control Center, on the Lock Screen, or on the Action Button, it closes Settings, opens the Translate screen, and, for that request only, reads the clipboard even when the input field has text. Even for a paste-link request, Bunyek does not automatically read (1) items marked confidential, transient, or auto-generated by password managers (ConcealedType, TransientType, AutoGeneratedType); (2) text copied with Bunyek's own copy buttons or the share extension's Copy Translation button, which add a Bunyek marker; or (3) copies it has already handled, meaning copies it tried to paste automatically, copies you pasted yourself with the Paste button, and copies made while Bunyek was in the foreground (while you were using Bunyek). Because of (3), text copied inside the Bunyek app with the long-press menu or share sheet is not pasted automatically when you return from another app or switch to the Translate screen, and this record is kept when the app is relaunched. A copy from another app that was already on the clipboard when Bunyek became active is not recorded under (3) even if it was not read then (for example, because the input field had text or another screen was showing), so it can be read later when the conditions above are met.
- Limits: some copies without the Bunyek marker can still be read automatically. Text copied by long-pressing the result in the share extension is made while Bunyek is not in the foreground, so it is covered by neither (2) nor (3) and can be read when you open the app. When Bunyek does not read the clipboard automatically, or the setting is off, text enters the input field only when you paste it yourself with the Paste button.
- Clipboard text read this way is translated on device and is not sent to Beek's or a third party's server for translation. Like typed text, the source and translated text are saved to translation history unless history saving is turned off; if you enabled iCloud history sync, that history is sent to your private CloudKit database and synced. iOS may ask whether to allow pasting from other apps; if you decline, Bunyek does not receive the content. You can set Paste from Other Apps to Ask, Deny, or Allow under Bunyek in the iOS Settings app.
- Mac keyboard shortcuts: When the default Shift/Option gesture is selected and the global shortcut is enabled, Bunyek detects it without requesting Input Monitoring permission. You can turn the shortcut off or choose Set a Key Combination in Settings. Passive monitors observe modifier-key states, their key codes, and mouse clicks. Bunyek does not subscribe to ordinary key-down events from other apps; it checks only the system-provided numeric session-wide key-down count and latest key-down time to cancel an in-progress gesture when typing intervenes. It does not read or store typed text, block events, or change them. A custom key combination uses macOS hotkey registration.
- Mac clipboard: Auto-Translate Clipboard on Open, which translates copied text when the popover is opened with the shortcut or menu bar, is on by default and can be turned off in Settings. Using the shortcut again while the popover is open closes it without reading the clipboard. During the same app session, an already handled copy is not placed in the input again. Copying the same text again in another app is treated as a new copy. Results copied by Bunyek are not automatically pasted back; after the app is relaunched, text still on the clipboard can be placed again. Clipboard items marked confidential by password managers are not read. Translations follow the same history settings as typed text.
- To request access, correction, or deletion of information sent directly to support, email sont0729@gmail.com. Beek is operated by Taeseop Son, 28 Yeokjeon-ro, Unit 403, Jeungpyeong-eup, Jeungpyeong-gun, Chungcheongbuk-do, Republic of Korea.
- Children under 14 should not send personal information by support email without a guardian's consent. Beek deletes such information promptly if it learns that it was submitted without consent.