App Store Connect App Privacy 작성법: SDK별 신고 항목
글: Mehdi Azizi
게시, 9분
App Privacy에는 앱과 SDK가 수집하는 데이터, 사용 목적, 사용자 연결 여부, 추적 여부를 신고해요. 버전을 제출하기 전에 게시해야 해요.
App Privacy는 App Store 페이지의 개인정보 보호 라벨을 만드는 App Store Connect 섹션이에요. 여기에 앱 그리고 앱에 넣은 SDK가 수집하는 데이터 유형을 하나하나 신고해요. 어디에 쓰는지, 사용자와 연결되는지, 추적에 쓰이는지도 함께요. 답변을 게시하기 전에는 App Store Connect가 버전을 제출에 추가하지 못하게 막아요.
답변은 빌드 없이 언제든 고칠 수 있어요. 가장 어려운 건 RevenueCat, Sentry, PostHog, Supabase, AppsFlyer, Meta, Expo 알림에 대해 무엇을 신고해야 하는지 아는 거예요. 아래 표는 각 SDK의 문서와 SDK에 포함된 매니페스트를 바탕으로 만들었고, 2026년 10월 15일에 다시 확인했어요.
저는 Expo와 이 SDK들로 직접 iOS 앱을 출시하고 있어요. 이 가이드는 Apple이 요구하는 것과 제가 실제로 적용한 내용을 정리한 거예요. 법률 자문을 대신하지는 않아요.
App Privacy, 개인정보 처리방침, 매니페스트: 서로 다른 세 가지
- 개인정보 처리방침은 주소를 입력하는 웹 페이지예요. 작성 방법은 iOS 앱 개인정보 처리방침에 있어요.
- 개인정보 매니페스트는 빌드에 포함되는
PrivacyInfo.xcprivacy파일이에요. 자세한 내용은 ITMS-91053 가이드에 있어요. - App Privacy는 App Store Connect의 설문이에요. 앱 페이지에 세 블록으로 표시돼요. 사용자를 추적하는 데 사용되는 데이터, 사용자와 연결된 데이터, 사용자와 연결되지 않은 데이터예요.
세 가지가 같은 이야기를 해야 해요. Apple의 App Privacy Details 페이지에 따르면 이 정보는 앱과 업데이트를 제출할 때 필수이고, 서드파티 파트너도 포함해요. 분석 도구, 광고 네트워크, SDK, 코드를 추가한 외부 제공업체 모두요.
App Privacy 단계별 작성법
아래 단계는 App Store Connect 도움말에 자세히 나와 있어요.
설문을 작성하려면 역할이 Account Holder, Admin 또는 App Manager여야 해요.
- Apps에서 앱을 연 다음, 사이드바에서 App Privacy를 열어요.
- Get Started를 클릭해요.
- 첫 질문에 답해요. 나 또는 파트너가 데이터를 수집하나요? 아니라면 "No, we do not collect data from this app"을 선택하고 저장해요. 그걸로 끝이에요.
- 그렇지 않다면 내 코드나 SDK가 수집하는 데이터 유형을 모두 체크해요.
- 유형마다 사용 목적, 사용자 연결 여부, 추적 여부라는 세 질문에 답해요.
- 페이지 미리보기(Product Page Preview)를 확인하고 Publish를 클릭한 뒤 확인해요.
앱이 이미 출시되어 있다면, Apple은 답변이 현재 출시된 버전의 데이터를 설명하도록 요구해요.
제출 전에 게시하세요. 2026년 9월, Piaf에서 버전을 제출에 추가하다가 이 메시지와 함께 실패했어요: "You must have published answers to your app's data usages." App Store Connect 공개 API로 이 양식을 채우는 방법은 찾지 못했어요. 그래서 저는 다른 작업보다 먼저 웹 화면에서 작성해요.
데이터마다 묻는 세 가지 질문
수집이 뜻하는 것
Apple에게 수집이란 데이터를 기기 밖으로 보내고, 요청에 응답하는 데 필요한 시간보다 오래 접근할 수 있는 것이에요. 그래서:
- iPhone 안에서만 처리되는 데이터는 수집이 아니에요.
- 보낸 뒤 바로 버리는 토큰이나 IP 주소도 수집이 아니에요.
- 앱 기능만을 위해 수집하는 데이터도 그 목적과 함께 신고해야 해요.
사용 목적
Apple은 여섯 가지 목적을 제시해요. 서드파티 광고(Third-Party Advertising), 개발자의 광고 또는 마케팅(Developer's Advertising or Marketing), 분석(Analytics), 제품 개인화(Product Personalization), 앱 기능(App Functionality), 기타 목적(Other Purposes)이에요. 한 데이터에 여러 개를 체크할 수 있어요. 로그인과 앱 개인화에 쓰는 이메일이라면 앱 기능과 개인화를 체크해요.
사용자와 연결
데이터가 계정, 기기 또는 다른 수단을 통해 사람의 신원과 연결되면 연결된 데이터예요. Apple은 수집 전에 익명화하고 이후에도 다시 연결하려 하지 않는 경우가 아니라면 대부분 연결된다고 설명해요. 계정 ID를 SDK에 넘기는 순간(identify, setUser, logIn) 그 SDK의 데이터는 연결된 데이터가 돼요.
추적
추적이란 앱의 데이터를 다른 회사의 앱이나 웹사이트에서 온 데이터와 연결해 타깃 광고나 광고 측정에 쓰는 거예요. 데이터 브로커와 데이터를 공유하는 것도 포함돼요. 광고를 위해 내 데이터를 다른 앱의 데이터와 결합하는 SDK는, 내가 그 용도로 쓰지 않더라도 추적으로 간주돼요.
추적에 "예"라고 답하면 두 가지가 따라와요. 추적 전에 App Tracking Transparency 요청을 띄워야 하고(가이드라인 5.1.2에서 설명해요), 매니페스트에 추적과 추적 도메인을 신고해야 해요. 도메인이 없으면 ITMS-91064 오류를 받아요.
Expo 앱의 SDK별 신고 항목
이 표는 각 SDK의 기본 설정을 기준으로 해요. 이메일, 계정 ID, 커스텀 이벤트 등 더 많은 걸 보내면 그만큼 더 신고해야 해요.
| SDK | 신고할 데이터 | 추적 | 출처 |
|---|---|---|---|
| RevenueCat | 구매 내역 | 아니요 | RevenueCat 문서 |
| Sentry | 충돌, 성능 | 아니요 | 문서와 매니페스트 |
| PostHog | 앱 상호작용 | 아니요 | PostHog iOS 매니페스트 |
| Supabase Auth | 이메일, 사용자 ID | 아니요 | 문서 찾지 못함 |
| AppsFlyer | 기기 ID, 상호작용 | 예, 기기 ID | AppsFlyer 매니페스트 |
| Meta SDK | 기기 ID, 충돌 | 예, 기기 ID | Meta 문서와 매니페스트 |
| Expo Notifications | 기기 ID(푸시 토큰) | 아니요 | 문서 찾지 못함 |
RevenueCat
RevenueCat의 App Privacy 문서는 구매 내역(Purchase History)을 신고하고, 모든 RevenueCat 사용자가 체크해야 하는 두 목적인 분석과 앱 기능을 선택하라고 해요. 연결 여부는 식별자가 익명이면 아니요, RevenueCat 사용자 ID가 이메일과 연결될 수 있으면 예예요. 자체 ID를 넘긴다면 사용자 ID(User ID)를, 이메일을 속성으로 보낸다면 연락처 정보(Contact Info)를 추가해요. SDK 매니페스트에는 앱 기능만 적혀 있지만, 더 자세한 문서를 따르세요. 연동 방법은 인앱 구독을 위한 RevenueCat에 있어요.
Sentry
모바일 개인정보 보호 페이지에 명시되어 있어요. Sentry는 신고해야 하는 파트너이고, 표준 목적은 분석과 앱 기능이며, 추적을 하지 않고 광고 식별자도 필요 없어요. 매니페스트는 충돌 데이터(Crash Data), 성능 데이터(Performance Data), 기타 진단 데이터(Other Diagnostic Data)를 연결되지 않은 데이터로 신고해요. Sentry.setUser로 계정 ID를 리포트에 붙이면 연결된 데이터가 돼요.
PostHog
PostHog가 공개한 App Privacy 권장 사항은 찾지 못했어요. iOS SDK 매니페스트는 제품 상호작용(Product Interaction)과 기타 사용 데이터(Other Usage Data)를 분석 목적, 연결 안 됨, 추적 없음으로 신고해요. React Native의 경우 문서에 따르면 앱 생명주기가 기본으로 수집되고, React Navigation 6 이하에서는 화면 조회도 수집돼요. identify는 지난 이벤트를 사용자와 연결하고, disableGeoip를 쓰지 않으면 IP에서 추정한 위치가 추가돼요. 제 생각에는 이 위치를 유지한다면 대략적인 위치(Coarse Location)를 신고하는 게 맞아요.
Supabase Auth
제가 아는 한 Supabase는 App Privacy 권장 사항을 공개하지 않아요. Apple의 정의에 따르면 이메일 로그인은 이메일 주소(Email Address)와 사용자 ID를 앱 기능 목적, 연결됨으로 신고해야 해요. 감사 로그는 로그인마다 IP 주소도 기록해요. Apple은 보관하는 IP를 사용 목적에 맞게 신고하라고 해요. 그리고 테이블에 저장하는 모든 것, 즉 콘텐츠, 사진, 기록도 포함돼요.
AppsFlyer와 Meta
두 매니페스트 모두 기기 ID를 추적에 사용, 서드파티 광고 목적으로 신고해요. AppsFlyer 매니페스트는 분석 목적의 제품 상호작용을 추가해요. Meta 매니페스트는 충돌 데이터와 기타 데이터를 추가해요. Meta iOS 문서에 따르면 매니페스트는 기본 수집만 다루고, 추가 데이터는 직접 신고해야 해요.
2026년 7월, TradaZen에 AppsFlyer를 연동하면서 기기 ID를 서드파티 광고와 분석 목적, 추적에 사용으로 추가했어요. 앱 페이지에 "사용자를 추적하는 데 사용되는 데이터(Data Used to Track You)" 블록이 나타났어요. 반면 AppsFlyer를 넣은 첫 빌드는 처리 단계에서 거부됐어요. 앱 매니페스트가 추적을 신고하면서 도메인을 빠뜨렸기 때문이에요.
Expo Notifications
Expo가 공개한 권장 사항은 찾지 못했고, expo-notifications 매니페스트는 수집 데이터를 하나도 신고하지 않아요. 하지만 서버에 저장하는 푸시 토큰은 앱에서 기기를 식별해요. 제 보수적인 해석은 이래요. 기기 ID(Device ID), 앱 기능 목적, 계정과 함께 저장하면 연결됨, 추적 없음. Apple이 정한 규칙은 아니에요.
제 방법: 목록 하나로 모두 맞추기
설문을 건드리기 전에 게시된 개인정보 처리방침을 다시 읽어요. TradaZen의 처리방침에는 로그인 이메일, 구독, 알림 토큰, 사용 통계, 오류 리포트, 동의를 받은 광고 기여도 측정이 적혀 있어요.
처리방침의 각 줄이 App Privacy의 데이터 유형 하나가 돼요. 데이터를 보내는 SDK나 기능을 추가하면 처리방침, App Privacy, 매니페스트를 같은 날 수정해요.
확인하려면 위에서 언급한 ITMS-91053 가이드의 명령어로 포함된 매니페스트를 나열해요. Mac과 Xcode가 있다면 개인정보 보호 리포트가 이를 모아 줘요. Product, Archive를 거쳐 Organizer에서 Generate Privacy Report를 선택해요. Apple은 이를 App Store Connect 작성을 돕는 도구로 소개해요.
빌드 없이 App Privacy 업데이트하기
Apple에 따르면 앱 업데이트 없이 언제든 답변을 바꿀 수 있어요. 반면 개인정보 처리방침 주소는 다음 버전에서만 바뀌어요. App Store Connect 도움말 기준이에요.
SDK를 추가할 때, 기존 도구에 계정 ID를 넘기기 시작할 때, 기능이 새로운 유형의 데이터를 보낼 때 App Privacy를 업데이트하세요. 이 신고 내용만 문제가 된 거절은 가이드라인 5.1.1처럼 온라인에서 수정할 수 있어요.
Apple보다 먼저 점검하기
Review Kit에는 제출 전 체크리스트, 제가 해결한 거절 사례, 그리고 프로젝트와 앱 페이지를 검토하고 Apple이 거절하면 답변을 준비해 주는 Claude Code 스킬 두 개가 들어 있어요.
아직 무엇이 막고 있는지 알고 싶나요? 무료 진단을 신청하면 Apple 거절 방지 체크리스트를 보내 드려요. 출시 전체 과정은 App Store에 앱 출시하기를 읽어 보세요.
자주 묻는 질문
App Store Connect의 App Privacy란 무엇인가요?
App Store 페이지의 개인정보 보호 라벨을 만드는 설문이에요. 앱과 SDK가 수집하는 데이터, 사용 목적, 사용자 연결 여부, 추적 여부를 다뤄요. 앱과 업데이트를 제출하려면 필수예요.
App Privacy를 수정하려면 새 빌드가 필요한가요?
아니요. Apple에 따르면 앱 업데이트 없이 언제든 답변을 바꿀 수 있어요. 수정한 다음 Publish를 클릭하면 돼요. 개인정보 처리방침 주소만 다음 버전을 기다려야 해요.
App Privacy에서 RevenueCat은 무엇을 신고해야 하나요?
RevenueCat 문서에 따르면 구매 내역을 분석과 앱 기능 목적으로 신고해요. 자체 ID를 넘기면 사용자 ID를, 이메일을 속성으로 보내면 연락처 정보를 추가해요.
Sentry와 PostHog는 Apple 기준으로 추적을 하나요?
기본 설정에서는 아니에요. Sentry는 사용자 추적에 데이터를 쓰지 않는다고 밝히고, PostHog iOS 매니페스트도 추적을 신고하지 않아요. 다만 계정 ID를 넘기는 순간 데이터는 연결된 데이터가 돼요.
왜 버전을 제출에 추가할 수 없나요?
App Privacy를 게시하지 않은 경우가 많아요. 그러면 App Store Connect에 "You must have published answers to your app's data usages"라는 메시지가 떠요. 답변을 게시한 다음 버전을 추가하세요.

