BestFrame

개인정보 처리방침

시행일 2026년 10월 9일 · October 9, 2026 · 최종 개정 2026년 11월 1일 · November 1, 2026

요약 BestFrame은 사진을 이 iPhone 안에서만 분석하며, 사진과 분석 결과, 취향 정보는 기기 밖으로 보내지 않습니다. 테스트 참여자가 제보에 직접 첨부한 스크린샷만 예외입니다. BestFrame 1.2부터는 앱을 고치고 개선하기 위해 익명 오류 보고와 사용 통계(개수와 정해진 값만)를 분석 서비스 PostHog로 보냅니다. 이름·계정과 연결되지 않고, 광고나 추적에 쓰지 않으며, 사진·위치·파일 이름은 포함하지 않습니다. 사진은 이용자가 직접 확인한 경우에만, iOS 사진 보관함 기능(PhotoKit)을 통해 삭제됩니다.

1. 수집하는 정보

BestFrame(이하 "앱")에는 회원가입·로그인이 없고, 아래 테스트 제보를 전달하는 기능 말고는 운영자 서버가 없으며, 광고나 추적 기술을 쓰지 않습니다. 사진, 분석 결과, 취향 정보는 이용자의 기기 안에만 있고 운영자는 접근할 수 없습니다. 테스트 참여자가 제보에 첨부해 보낸 스크린샷만 예외입니다.

BestFrame 1.2부터 앱은 다음 정보만 PostHog(아래 6번)로 보냅니다. 이름, 이메일, 전화번호, Apple 계정, 광고 식별자(IDFA)는 수집하지 않으며, 보낸 정보를 이용자 신원과 연결하지 않습니다.

항목내용목적
오류(충돌) 보고앱이 비정상 종료되었을 때의 오류 종류와 스택 트레이스(앱 코드의 어느 부분에서 멈췄는지), 앱 실행 파일 정보. 충돌 다음에 앱을 열 때 보냅니다.오류를 찾아 고치기 위해
사용 통계 8가지① 처음 실행(설치당 한 번) ② 사진 접근 권한 선택 결과(전체·선택한 사진·거부 중 하나) ③ 분석 완료: 찾은 장면 수, 확인한 사진 수, 건너뛴 사진 수, 걸린 시간(초) ④ 정리 완료: 마친 장면 수, 그중 추천을 바꾸지 않고 마친 장면 수, 남긴 사진 수, 삭제한 사진 수 ⑤ 정리를 마친 화면이 나타남(1.3부터): 마친 장면 수, 남긴 사진 수, 삭제한 사진 수와 건너뛴 장면 수, 확인한 사진 수, 삭제 없이 마쳤는지 여부, 화면 형태(격자) ⑥ 정리를 마친 화면을 닫음(1.3부터): 화면을 연 시간 구간(3초 미만·3–10초·10–30초·30초 이상), 사진 목록을 스크롤했는지 여부 ⑦ 정리 확정 실패(1.4부터): 정해진 실패 이유(권한 없음, 보관함이 바뀜, 삭제를 허용하지 않음 등) 중 하나, 장면 수, 삭제도 함께 선택했는지 여부 ⑧ 사진 분석이 끝까지 가지 못하고 멈춤: 멈춘 이유(iOS가 백그라운드 작업을 끝냄·오류 중 하나), 분석 단계(새 사진·세부 측정·이전 사진·날짜 없는 사진·건너뛴 사진 다시 확인 중 하나), 오류 종류(Vision·사진 보관함 등 정해진 값 중 하나)와 오류 번호, 처리한 사진 수, 앱이 백그라운드였는지 여부, 걸린 시간(초)기능이 실제로 쓰이고 제대로 끝나는지 확인하기 위해
익명 식별자앱이 처음 실행될 때 PostHog SDK가 만드는 무작위 ID와 세션 ID. 기기나 이용자 정보로 만들지 않습니다.같은 설치에서 온 기록을 묶어 세기 위해
기기·앱 정보앱 버전·빌드, iOS 버전, 기기 모델(예: iPhone16,1), 화면 크기, 언어 설정, Wi-Fi·셀룰러 연결 여부, TestFlight·시뮬레이터 여부, SDK 버전. 기기 이름(이용자가 정한 이름)과 시간대는 보내지 않습니다. App Store 개인정보 항목의 "기타 진단 데이터"에 해당합니다.오류와 통계를 버전·기기별로 나눠 보기 위해

보내지 않는 정보: 사진과 이미지(아래 테스트 제보에 테스트 참여자가 첨부한 스크린샷 제외), 사진의 식별자·촬영 시각·위치·파일 이름·앨범 이름, 분석 결과와 화질 수치, 취향 가중치, 이용자가 입력한 글(아래 테스트 제보에서 이용자가 직접 보내는 경우 제외). 화면 이동이나 버튼 누름을 자동으로 기록하지 않고, 화면 녹화(세션 리플레이)와 설문도 쓰지 않습니다.

IP 주소와 위치: 인터넷으로 정보를 보낼 때 PostHog 서버는 통신 과정에서 기기의 IP 주소를 받게 됩니다. 앱은 IP 주소로 위치를 추정하지 않도록 요청($geoip_disable)하며, BestFrame의 PostHog 프로젝트는 IP 주소를 저장하지 않도록 설정합니다.

테스트 제보(테스트 참여자만): 운영자가 테스트 참여자로 지정한 설치에만 설정 화면에 '제보하기'와 '모두 초기화'(기기에 저장된 앱 기록만 지우며 사진은 건드리지 않고 아무것도 보내지 않음)가 보입니다. 이를 위해 앱을 실행한 뒤 설정 화면을 처음 열 때 앱이 PostHog에 이 기능이 켜져 있는지(debug-report) 한 번 묻습니다. 답을 받지 못하면 다음에 설정 화면을 열 때 다시 묻습니다. 이용자가 제보 화면에서 '보내기'를 누른 경우에만 다음 정보를 보내며, 보낼 내용은 보내기 전에 화면에 모두 보여 줍니다.

항목내용목적
제보 내용유형(버그·기능 요청), 이용자가 쓴 제목과 설명버그를 고치고 기능을 정하기 위해
스크린샷(선택)이용자가 첨부한 경우만: 설정 아래에 있던 앱 화면을 찍은 이미지, 또는 이용자가 사진 선택 화면에서 고른 스크린샷 한 장. 긴 쪽 1600px 이하 JPEG로 줄이고 위치 같은 사진 정보는 지웁니다. 앱 화면에는 보관함 사진의 미리보기가 보일 수 있습니다.문제를 재현하기 위해
기기·앱 정보앱 이름, 버전, 빌드, iOS 버전, 기기 모델, 제보를 연 화면(설정)버전·기기별 문제를 찾기 위해
식별자위 익명 식별자(PostHog ID, 분석이 꺼진 빌드에서는 없음)와, 제보 화면을 처음 열 때 만드는 무작위 제보 ID, 제보 화면을 열거나 내용을 고칠 때 새로 만드는 무작위 중복 방지 ID같은 설치의 제보를 묶고, 너무 잦은 제보를 막고, 응답을 받지 못해 다시 보낸 제보가 두 번 등록되지 않게 하기 위해

제보는 BestFrame 사이트의 중계 함수(Cloudflare)를 거쳐 운영자의 이슈 관리 도구 Linear에 이슈로 저장됩니다. 중계 함수는 너무 잦은 제보를 막기 위해 IP 주소와 제보용 ID를 원래 값 대신 서버 비밀 키로 만든 해시 값으로만 잠시(기본 한 시간) 셉니다. 다시 보낸 제보를 알아보기 위해 제보 ID와 중복 방지 ID를 같은 방식으로 만든 해시 값과 만든 이슈 번호를 하루 동안 둡니다.

제보 한 건에 이용자가 쓴 글·스크린샷과 익명 식별자·기기 정보가 함께 저장되므로, 테스트 제보가 들어간 빌드부터 App Store 개인정보 항목에서는 "기기 ID"와 "기타 진단 데이터"도 보수적으로 "사용자와 연결됨"으로 표시합니다. 사용 통계와 오류 보고 자체는 지금처럼 이름·계정과 연결하지 않습니다.

2. 기기 안에서 하는 일

3. 기기에 저장하는 정보

앱은 다음 정보를 이용자의 기기에만 저장합니다. 사진 원본이나 이미지 사본은 저장하지 않습니다.

저장 위치내용용도
UserDefaults추천 취향 가중치, 반영한 비교 횟수, 취향에 반영한 장면 수(BestFrame 1.3부터 적용), 정리를 마친 장면의 식별값(사진 식별자와 수정 시각으로 계산)추천을 이용자 취향에 맞추고, 이미 정리한 장면을 다시 보여 주지 않기 위해
UserDefaults별점 요청 기록: 앱을 실행한 횟수, 현재 앱 버전에서 삭제를 마친 사진 수와 그 버전, 별점 요청 대기 여부, 마지막으로 별점을 요청한 앱 버전(BestFrame 1.1부터 적용)App Store 별점 요청을 사진을 정리한 뒤에만, 앱 버전마다 한 번까지만 보여 주기 위해
UserDefaults처음 실행 통계를 이미 보냈는지 여부(BestFrame 1.2부터 적용)처음 실행을 설치당 한 번만 세기 위해
UserDefaults스와이프 방법 안내를 이미 봤는지 여부(BestFrame 1.3.2 빌드 26부터 적용)안내를 한 번만 보여 주기 위해
UserDefaults설정의 '장면 묶기'에서 고른 단계(7단계 중 하나, BestFrame 1.6부터 적용)다음 분석부터 고른 단계로 비슷한 사진을 묶기 위해
앱 데이터 폴더(PostHog SDK)익명 식별자와 세션 ID, 아직 보내지 못한 통계·오류 보고, 다음 실행 때 보낼 충돌 기록(BestFrame 1.2부터 적용). 기기 백업(iCloud 백업 등)에서는 제외됩니다.인터넷이 없을 때 모아 두었다가 보내기 위해
Application Support 폴더의 파일분석 진행 상황: 찾은 장면을 이루는 사진의 기기 내 식별자, 촬영 시각, 추천에 쓰는 화질 수치(선명도·노출 등)와 찾은 얼굴 수, 장면에 묶인 사진의 눈 뜸·웃음·구도 추정 수치(얼굴 이미지나 위치, 눈·입 같은 얼굴 특징점은 저장하지 않음). 분석을 마친 촬영 시각의 범위(홈 화면의 "…까지 확인"에 표시)와 다시 분석할 사진의 촬영 시각. 분석하지 못하고 건너뛴 사진(iCloud에만 있는 사진 등)은 기기 내 식별자, 그리고 처음 분석을 포함해 시도한 횟수와 마지막으로 시도했을 때의 사진 수정 시각(BestFrame 1.1부터 적용). 선택한 사진만 허용했다면 그 사진들의 기기 내 식별자앱을 다시 열었을 때 처음부터 분석하지 않고 이어서 하기 위해. 건너뛴 사진은 처음 분석을 포함해 3번까지 확인하고, 그 뒤에는 사진 수정 시각이 바뀌었을 때만 다시 확인하기 위해. 사진 접근을 넓히면(전체 허용, 사진 추가 선택) 새로 보이게 된 사진만 찾아 분석하기 위해
Application Support 폴더의 파일(테스트 참여자만)정리 기록: 정리를 확정한 장면마다 사진별 화질·얼굴·구도 수치와 남겼는지, 처음 추천됐는지, 좋아요였는지(최근 1000개 장면). 사진, 사진의 식별자·촬영 시각·위치는 저장하지 않습니다. 테스트 참여자가 직접 만든 추천 가중치 세트와 그 이름. 운영자가 테스트 참여자로 지정한 설치에서, 앱을 실행한 뒤 설정 화면을 열어 테스트 참여자로 확인된 때부터 그 실행 동안만 기록하며, 설정의 '추천 가중치'에서 끄거나 지울 수 있습니다.테스트 참여자가 자기 정리 기록으로 추천 가중치를 다시 맞춰 보고 비교하기 위해. 테스트 참여자가 '공유'를 누르면 가중치와 개수만 담은 파일(세트 이름·사진 정보 없음)을 공유 시트로 직접 보낼 수 있으며, 앱이 운영자에게 보내지는 않습니다.
Application Support 폴더의 파일(테스트 참여자만)장면 묶기 판정 기록(BestFrame 1.5 이후 빌드부터 적용): 테스트 참여자가 설정의 '장면 묶기 강도'에서 '판정 내보내기'로 고른 사진 2–20장을 그 자리에서 다시 분석한 결과. 사진마다 촬영 순서 번호, 첫 사진부터 지난 초, 가로세로 비율, HEIC 여부, 얼굴 수와 가장 큰 얼굴 크기, 몸 영역 높이, 회전 여부, 분석 이미지의 가로·세로 픽셀 수, 사진 쌍마다 장면·얼굴·몸 특징 거리와 묶거나 나눈 규칙, 고른 사진과 같은 분석 묶음에 있는 다른 사진 중 매우 비슷한 사진의 수와 각 사진과의 간격(초)·특징 거리, 그리고 앱 버전·빌드, iOS 버전, 기기 모델과 그때의 묶기 설정. 사진, 사진의 식별자·파일 이름·촬영 날짜·위치, 특징 벡터는 저장하지 않습니다. 내보낼 때마다 덮어씁니다.테스트 참여자가 받은 장면 나눔을 기기 밖에서 같은 숫자로 재현하기 위해. 테스트 참여자가 '공유'를 누르면 이 파일을 공유 시트로 직접 보낼 수 있으며, 앱이 운영자에게 보내지는 않습니다. 스캔 결과와 분석 진행 상황은 바뀌지 않습니다.

분석 진행 상황 파일은 기기 안에만 저장되며, 앱은 이 파일의 내용을 기기 밖으로 보내지 않습니다(사용 통계에는 장면·사진 개수만 들어갑니다). 보관함에서 지워진 사진과 정리를 마친 장면은 이 파일에서 빠지고, 건너뛴 사진은 나중에 분석되면 건너뛴 목록에서 빠집니다. 정리 중에 고르던 내용은 메모리에만 있어 앱을 종료하면 사라집니다. 설정의 "취향 초기화"는 취향 가중치와 비교 횟수, 취향에 반영한 장면 수를, "처음부터 다시 찾기"는 분석 진행 상황을 지웁니다. 정리를 마친 장면의 식별값과 별점 요청 기록은 이 두 설정으로 지워지지 않습니다. 저장된 정보는 앱을 삭제하면 모두 삭제됩니다. 이용자가 iPhone 백업(iCloud 백업 등)을 사용하면 이 앱 데이터가 Apple의 백업 정책에 따라 백업에 포함될 수 있습니다. 이때도 운영자에게 전달되지는 않습니다.

4. 사진 보관함 변경

5. 권한

앱은 사진 보관함 접근 권한(분석, 즐겨찾기 변경, 삭제)과 선택적으로 알림 권한을 요청합니다. 권한은 언제든 설정 › BestFrame에서 바꿀 수 있습니다. 사진 접근을 끄면 앱은 사진을 읽지 않습니다.

6. 제3자 제공·처리 위탁·국외 이전

운영자는 정보를 제3자에게 팔거나 제공하지 않습니다. 1번의 오류 보고와 사용 통계를 저장·분석하는 일은 PostHog에 맡기며, 이 과정에서 정보가 국외로 이전됩니다.

받는 자PostHog, Inc.(분석 서비스 제공자, 개인정보 처리방침)
이전 국가미국(PostHog US Cloud). BestFrame이 EU 지역을 쓰도록 설정한 빌드는 유럽연합(PostHog EU Cloud)
이전 항목1번 표의 오류 보고, 사용 통계, 익명 식별자, 기기·앱 정보
이전 시기와 방법앱 사용 중(오류 보고는 충돌 다음 실행 때) 암호화된 인터넷 연결(HTTPS)로 전송
목적오류 수정과 기능 개선을 위한 통계
보유 기간7번과 같습니다

테스트 제보(1번)를 보낸 경우에만 다음 처리자가 추가됩니다.

받는 자Cloudflare, Inc.(제보를 전달하는 중계 함수 호스팅, 개인정보 처리방침), Linear Orbit, Inc.(이슈 관리 도구, 제보와 스크린샷 저장, 개인정보 처리방침)
이전 국가미국(Cloudflare는 이용자와 가까운 데이터센터에서 중계합니다)
이전 항목1번 테스트 제보 표의 항목. Cloudflare는 전달하는 동안 IP 주소를 받습니다.
이전 시기와 방법이용자가 '보내기'를 누를 때 암호화된 인터넷 연결(HTTPS)로 전송
목적버그 수정과 기능 개선
보유 기간7번과 같습니다

PostHog는 운영자를 위해서만 이 정보를 처리하며, 광고나 다른 회사와의 정보 연결(추적)에 쓰지 않습니다. 앱 설치와 업데이트는 App Store에서 Apple을 통해 이뤄지며, 이 과정에는 Apple의 개인정보 처리방침이 적용됩니다.

7. 보관 기간과 삭제

8. 아동

앱은 이용자의 나이를 묻지 않으며, 만 14세 미만 아동을 포함해 누구의 이름이나 연락처도 수집하지 않습니다. 1번의 익명 정보는 나이와 관계없이 같은 방식으로 처리됩니다.

9. 방침의 변경

앱의 정보 처리 방식이 바뀌면, 바뀐 내용이 적용되기 전에 이 페이지에 시행일과 함께 알립니다. 1번과 6·7번의 PostHog 관련 내용은 BestFrame 1.2부터, 사용 통계 ⑤·⑥은 1.3부터, ⑦은 1.4부터 적용되며, ⑧과 테스트 제보는 그 기능이 들어간 빌드부터 적용됩니다.

10. 문의와 개인정보 보호책임자

운영자·개인정보 보호책임자: Taehee Lee(이태희)
이메일: somandlee@gmail.com


Privacy Policy

Effective 2026년 10월 9일 · October 9, 2026 · Last updated 2026년 11월 1일 · November 1, 2026

In short BestFrame analyzes your photos only on this iPhone, and your photos, analysis results, and preferences never leave the device, except a screenshot a tester chooses to attach to a report. From BestFrame 1.2, to fix and improve the App, it sends anonymous crash reports and usage statistics (counts and fixed values only) to the analytics service PostHog. They are not linked to your name or any account, are not used for ads or tracking, and never include photos, locations, or file names. Photos are deleted only after you confirm, and only through the iOS Photos framework (PhotoKit).

1. Information we collect

BestFrame (the "App") has no account or sign-in, no server of ours other than the relay for tester reports below, and uses no advertising or tracking technology. Your photos, analysis results, and preferences stay on your device. We cannot access them. The only exception is a screenshot a tester attaches to a report and sends.

From BestFrame 1.2, the App sends only the following to PostHog (section 6). It does not collect your name, email, phone number, Apple Account, or advertising identifier (IDFA), and we do not link what it sends to your identity.

ItemWhatWhy
Crash reportsWhen the App quits unexpectedly: the error type, the stack trace (where in the App's code it stopped), and information about the App's binary. Sent the next time you open the App.To find and fix bugs
Eight usage statistics(1) First launch (once per install) (2) The photo access you chose (full, selected photos, or denied) (3) Scan finished: number of scenes found, photos checked, photos skipped, and time taken in seconds (4) Clean-up finished: number of scenes finished, how many of them were finished without changing the recommendation, photos kept, and photos deleted (5) Completion screen shown (from 1.3): scenes finished, photos kept, and photos deleted, plus scenes skipped, photos checked, whether you finished without deleting, and the layout (grid) (6) Completion screen closed (from 1.3): how long it was open (under 3, 3–10, 10–30, or 30+ seconds) and whether you scrolled the photos (7) Clean-up could not be confirmed (from 1.4): one fixed reason (such as no permission, the library changed, or deletion not allowed), the number of scenes, and whether you chose to delete (8) Photo analysis stopped before the end: the reason (iOS ended the background task, or an error), the stage (new photos, details, older photos, undated photos, or re-checking skipped photos), the error kind (one fixed value such as Vision or the photo library) and error number, the number of photos processed, whether the app was in the background, and the time taken (seconds)To check that features are used and finish correctly
Anonymous identifierA random ID and a session ID created by the PostHog SDK when the App first runs. They are not derived from your device or from you.To count records from the same install together
Device and app informationApp version and build, iOS version, device model (such as iPhone16,1), screen size, language setting, whether on Wi-Fi or cellular, whether TestFlight or a simulator, and SDK version. Not your device's name or your time zone. Listed as "Other Diagnostic Data" in the App Store privacy details.To break down crashes and statistics by version and device

Never sent: photos and images (except a screenshot a tester attaches to a report, below); photo identifiers, capture times, locations, file names, or album names; analysis results and quality scores; your preference weights; anything you type (except what a tester chooses to send in a report, below). The App does not record screen views or taps automatically, and uses no session replay or surveys.

IP address and location: Sending data over the internet gives PostHog's servers your device's IP address. The App asks PostHog not to derive a location from it ($geoip_disable), and BestFrame's PostHog project is set to discard IP addresses.

Tester reports (testers only): Only installs we have chosen as testers see "Send Feedback" and "Reset Everything" in Settings (the reset only clears what the App saved on the device; it never touches photos and sends nothing). To decide this, the App asks PostHog once, the first time Settings opens after the App starts, whether the feature (debug-report) is on. If no answer comes back, it asks again the next time Settings opens. The following is sent only when you tap Send on the report screen, and the screen shows all of it before you send.

ItemWhatWhy
ReportType (bug or feature request) and the title and description you writeTo fix bugs and decide on features
Screenshot (optional)Only if you attach one: an image of the App screen behind Settings, or one screenshot you choose in the photo picker. Reduced to a JPEG of up to 1600 px on the long side, with location and other photo metadata removed. An App screen may show previews of photos in your library.To reproduce the problem
Device and app informationApp name, version, build, iOS version, device model, and the screen the report was opened from (Settings)To find problems by version and device
IdentifiersThe anonymous identifier above (PostHog ID; none in builds without analytics) and a random report ID created the first time you open the report screen, and a random duplicate check ID created each time you open it or change the reportTo group reports from one install, to stop too many reports, and to file a report sent again after a lost response only once

Reports pass through a relay function on the BestFrame site (Cloudflare) and are stored as issues in our issue tracker, Linear. To stop too many reports, the relay briefly counts (one hour by default) the IP address and report ID only as hashes keyed with a server secret, never the values themselves. To recognize a report sent again, it keeps a hash of the report ID and duplicate check ID, made the same way, with the filed issue number for one day.

Because a report stores your text and screenshot together with the anonymous identifier and device information, from the first build that includes tester reports the App Store privacy details also list "Device ID" and "Other Diagnostic Data" as linked to you, to be conservative. Usage statistics and crash reports themselves are still not linked to your name or any account.

2. What happens on your device

3. Information stored on your device

The App stores the following only on your device. It never stores copies of your photos.

WhereWhatWhy
UserDefaultsYour preference weights, the number of comparisons learned, the number of scenes learned from (from BestFrame 1.3), and fingerprints of scenes you finished (computed from photo identifiers and modification dates)To tailor suggestions to you and avoid showing finished scenes again
UserDefaultsRating request records: how many times the App was launched, the number of photos deleted in the current App version and that version, whether a rating request is pending, and the App version in which a rating was last requested (from BestFrame 1.1)To ask for an App Store rating only after you clean up photos, and at most once per App version
UserDefaultsWhether the first-launch statistic was already sent (from BestFrame 1.2)To count a first launch only once per install
UserDefaultsThe step chosen under Settings → Scene Grouping (one of seven, from BestFrame 1.6)To group similar photos at that step from the next scan
App data folder (PostHog SDK)The anonymous identifier and session ID, statistics and crash reports not yet sent, and a crash record to send at the next launch (from BestFrame 1.2). Excluded from device backups (such as iCloud Backup).To hold data while offline and send it later
A file in Application SupportScan progress: on-device identifiers and capture times of photos in found scenes, and the quality scores used for suggestions (sharpness, exposure, etc.) and the number of faces found (no face images or positions). The range of capture times already scanned (shown as "Checked back to …" on the home screen) and the capture times of photos waiting to be scanned again. For photos that could not be analyzed and were skipped (such as iCloud-only photos): their on-device identifiers, plus the number of attempts, including the original scan, and the photo's modification date at the last attempt (from BestFrame 1.1). If you allowed only selected photos: the on-device identifiers of those photosTo resume scanning instead of starting over. To check each skipped photo up to 3 times, including the original scan, and after that only when its modification date changes. To find and scan only the newly visible photos when you widen photo access (full access, or more photos selected)
A file in Application Support (test participants only)Cleanup log: for each scene you confirm, each photo's quality, face and framing scores and whether it was kept, first suggested, or a favorite (the latest 1,000 scenes). No photos, photo identifiers, capture times or locations. Recommendation weight sets the test participant made, with their names. Recorded only on installs the operator marked as test participants, and in each launch only after Settings is opened and confirms it; it can be turned off or cleared in Settings → Ranking Weights.So test participants can refit and compare recommendation weights from their own cleanups. When a test participant taps Share, they can send a file with only weights and counts (no set names or photo information) through the share sheet themselves; the App does not send it to the operator.
A file in Application Support (test participants only)Scene grouping decisions (from builds after BestFrame 1.5): the result of analyzing again the 2–20 photos a test participant picks under Settings → Scene Grouping Strength → Export Decisions. For each photo, its number in capture order, seconds since the first photo, aspect ratio, whether it is HEIC, face count and largest face size, body area height, whether it was turned upright, and the analysis image's width and height in pixels; for each pair of photos, the scene, face and body feature distances and the rule that grouped or split them; the number of other photos in the same analysis batch that are near-identical to a picked photo, with the seconds between them and their feature distance; plus the app version and build, iOS version, device model, and the grouping settings in use. No photos, photo identifiers, file names, capture dates, locations, or feature vectors. Overwritten by each export.So a test participant's scene split can be reproduced off the device with the same numbers. When a test participant taps Share, they can send this file through the share sheet themselves; the App does not send it to the operator. Scan results and scan progress do not change.

The scan progress file is stored only on your device, and the App never sends its contents off the device (usage statistics contain only counts of scenes and photos). Photos removed from your library and scenes you finished are dropped from this file, and a skipped photo leaves the skipped list once it is analyzed. Choices you are still making stay in memory and are discarded when the App quits. In Settings, "Reset Personalization" clears your preference weights, comparison count, and learned scene count, and "Rescan Library" clears scan progress. Neither clears the fingerprints of finished scenes or the rating request records. All stored data is removed when you delete the App. If you use iPhone backups (such as iCloud Backup), this App data may be included under Apple's backup policies. It is still never sent to us.

4. Changes to your photo library

5. Permissions

The App asks for photo library access (for analysis, favorites, and deletion) and, optionally, notification permission. You can change these anytime in Settings › BestFrame. Without photo access, the App reads no photos.

6. Sharing, processors, and international transfers

We do not sell or share information with third parties. PostHog stores and analyzes the crash reports and usage statistics in section 1 on our behalf, which transfers that data outside Korea.

RecipientPostHog, Inc. (analytics provider, privacy policy)
CountryUnited States (PostHog US Cloud). Builds of BestFrame configured for the EU region: European Union (PostHog EU Cloud)
DataThe crash reports, usage statistics, anonymous identifier, and device and app information in section 1
When and howWhile you use the App (crash reports at the next launch after a crash), over an encrypted connection (HTTPS)
PurposeStatistics to fix bugs and improve features
RetentionAs in section 7

Only when a tester sends a report (section 1), these processors are added.

RecipientCloudflare, Inc. (hosts the relay function that passes reports on, privacy policy) and Linear Orbit, Inc. (issue tracker that stores reports and screenshots, privacy policy)
CountryUnited States (Cloudflare relays from a data center near you)
DataThe items in the tester report table in section 1. Cloudflare receives the IP address while passing the report on.
When and howWhen you tap Send, over an encrypted connection (HTTPS)
PurposeFixing bugs and improving features
RetentionAs in section 7

PostHog processes this data only for us and does not use it for advertising or to link it with other companies' data (tracking). App downloads and updates are handled by Apple through the App Store under Apple's privacy policy.

7. Retention and deletion

8. Children

The App does not ask for your age and collects no one's name or contact details, including children under 14. The anonymous data in section 1 is handled the same way regardless of age.

9. Changes to this policy

If the way the App handles information changes, we will post the update here with its effective date before it applies. The PostHog parts of sections 1, 6, and 7 apply from BestFrame 1.2; usage statistics (5) and (6) apply from 1.3, and (7) from 1.4; (8) and tester reports apply from the first build that includes them.

10. Contact and privacy officer

Developer and privacy officer: Taehee Lee (이태희)
Email: somandlee@gmail.com