앱 MVP Required Reason API: 코드·SDK·승인 사유를 나누는 5가지 기준
iOS 앱 MVP를 배포하기 직전에 Privacy Manifest를 한 번 채우는 일만으로 검수가 끝나는 것은 아닙니다. 어떤 API가 앱 코드에 있는지, 어떤 API가 외부 SDK 안에 있는지, 선택한 사유가 실제 기능 설명과 맞는지, 최종 빌드에 어느 manifest가 들어갔는지는 서로 다른 질문입니다.
먼저 답하면, Required Reason API 검수는 코드·SDK의 사용 흔적을 확인하고, API 범주마다 실제 기능에 맞는 Apple의 승인 사유를 고른 뒤, 각 번들의 Privacy Manifest와 배포 전 리포트를 대조하는 순서로 잡는 편이 안전합니다. ‘개인정보 문서를 만들었다’는 사실만으로 특정 API 사용이나 제출 결과가 확정되지는 않습니다.
이 글은 iOS의 Required Reason API를 출시 전에 점검하는 기준입니다. 수집 데이터와 스토어 공개 문구를 정리하는 범위는 앱 MVP 외부 SDK 개인정보 공개 기준에서, 앱 전체의 개인정보 처리방침 준비는 MVP 출시 전 개인정보 처리방침 체크리스트에서 별도로 다룹니다.
1. 시작점은 ‘manifest 파일’이 아니라 실제 API 사용 목록입니다
Apple은 일부 API가 기기나 사용자를 식별하려는 목적으로 오용될 수 있어 Required Reason API를 별도로 다룬다고 설명합니다. 앱이 직접 쓴 코드와 포함한 외부 SDK 중 어떤 실행 파일·동적 라이브러리가 해당 API를 쓰는지 먼저 확인하세요. 예상만으로 사유를 추가하거나, 사용하지 않는 항목을 남겨 두는 방식은 검수의 근거가 되지 않습니다.
앱 코드: 팀이 작성한 코드에서 어떤 API 범주를 쓰는가?
외부 SDK: 분석·인증·기타 SDK가 필요한 API를 포함하는가?
기능 연결: 각 API 사용이 사용자에게 보이는 어떤 기능을 위한 것인가?
확인 증거: 코드 검색, 의존성 목록, SDK 문서, 빌드 산출물 중 무엇으로 확인했는가?
이 목록은 개인정보 수집 목록과 같은 표가 아닐 수 있습니다. Apple의 Privacy Manifest 문서는 수집 데이터와 Required Reason API 사용을 각각 기록하는 구조를 설명합니다. 따라서 ‘데이터를 수집하지 않는다’는 판단만으로 Required Reason API 항목이 비어 있다고 결론 내리지 말고, 두 범위를 따로 확인해야 합니다.
2. API 범주와 승인 사유를 기능 문장으로 연결합니다
Required Reason API를 사용했다면 Privacy Manifest의 NSPrivacyAccessedAPITypes 배열에 API 범주와 사유 목록을 기록합니다. Apple은 해당 API와 그로부터 얻은 데이터를 선언한 사유에만 사용해야 하며, 사유는 사용자에게 제시한 앱 기능과 일치해야 한다고 안내합니다.
점검 질문 | 기록할 판단 | 피해야 할 혼동 |
|---|---|---|
무엇을 썼나? | 필요한 API 범주와 해당 코드·SDK | 프레임워크 이름만 적고 API 사용을 추정하는 일 |
왜 썼나? | 실제 사용자 기능과 허용된 사유의 대응 | 편의상 가장 넓어 보이는 사유를 고르는 일 |
어디에 쓰나? | 앱 번들 또는 SDK 번들의 manifest 책임 | 앱 manifest가 모든 SDK 사용을 대신한다고 보는 일 |
어떻게 검증하나? | 빌드·privacy report·제출 전 체크 기록 | 소스 파일 하나만 보고 최종 배포본을 확정하는 일 |
특히 Apple 문서는 외부 SDK가 Required Reason API를 쓰면 그 SDK의 Privacy Manifest가 그 사용을 보고해야 하며, 앱 또는 다른 SDK의 manifest에 의존할 수 없다고 설명합니다. 여기서 앱 개발자의 역할이 사라지는 것은 아닙니다. 어떤 SDK 버전을 포함했고, 최종 빌드에서 어떤 정보가 모이는지 확인해 스토어 공개 정보와 충돌하지 않는지 검토해야 합니다.
사유 코드는 복사해 두는 체크박스가 아니라 ‘이 API가 이 기능을 위해 필요하다’는 근거입니다. 코드 변경 또는 SDK 업데이트가 있으면, 기존 manifest 사유가 여전히 맞는지 다시 확인하세요.
3. 앱과 SDK의 manifest 책임을 섞지 않습니다
Privacy Manifest 파일은 기본적으로 PrivacyInfo.xcprivacy라는 이름으로 번들에 포함됩니다. Apple은 앱 코드가 API를 사용하면 앱 manifest에, 외부 SDK 코드가 사용하면 SDK manifest에 각각 보고하도록 안내합니다. 이 구분은 구현 담당자를 나누기 위한 것이 아니라, 실제 사용 주체와 배포 산출물을 추적하기 위한 기준입니다.
의존성 잠금 파일·패키지 목록에서 포함한 SDK와 버전을 기록합니다.
앱 코드와 SDK별 API 사용 근거를 같은 행에 섞지 않고 분리합니다.
각 사용에 대응하는 API 범주·승인 사유·기능 설명을 연결합니다.
manifest가 어떤 target·bundle 리소스에 들어가는지 확인합니다.
빌드 뒤 privacy report와 실제 제품 흐름을 다시 대조합니다.
SDK 제공자가 manifest를 제공한다고 해서 해당 SDK의 데이터 흐름이나 앱의 스토어 공개 내용을 자동으로 확정해 주지는 않습니다. 반대로 앱 manifest에 SDK의 사용을 임의로 중복 기재해 책임을 해결할 수도 없습니다. 앱·SDK·스토어 공개 문구를 각각의 확인 단위로 두는 이유입니다.
4. 최종 검수는 소스가 아니라 배포 후보 빌드에서 합니다
로컬에서 수정한 plist 파일이 있어도 target에 포함되지 않았거나, 배포 후보에서 다른 SDK 버전이 들어가면 결과가 달라질 수 있습니다. Apple은 Xcode에서 privacy report를 생성할 때 앱과 링크한 외부 SDK의 정보를 요약할 수 있다고 안내합니다. 따라서 릴리스 직전에는 코드 목록, 의존성 버전, bundle의 manifest, privacy report, 사용자에게 보이는 기능 설명을 함께 보세요.
새 SDK 추가·제거·버전 변경이 API 사용 목록에 반영됐는가?
manifest의 API 범주와 승인 사유가 현재 코드·SDK 사용과 일치하는가?
사유로 설명한 기능이 실제 화면·도움말·스토어 설명과 모순되지 않는가?
필요하지 않은 API 항목과 빈 배열을 남기지 않았는가?
제출 결과를 ‘통과’로 표현하기 전에 App Store Connect의 실제 응답을 따로 확인했는가?
Apple은 필요한 사유를 설명하지 않은 앱이 App Store Connect에 수락되지 않을 수 있다고 안내합니다. 그러나 이것은 특정 앱이 거절되거나 승인된다는 예측이 아닙니다. 실제 제출은 당시의 빌드, 포함한 SDK, 선언 내용, 심사 환경에 따라 별도로 확인해야 합니다.
5. 변경 이력을 남겨 다음 릴리스의 재검토 기준을 만듭니다
Required Reason API 검수는 출시 직전 한 번의 문서 작업으로 끝내기보다 변경 관리의 일부로 두는 편이 좋습니다. 기능 플래그가 켜지는 시점, SDK 버전이 바뀌는 시점, 사용 API가 추가·제거되는 시점마다 ‘누가 무엇을 근거로 다시 확인했는지’를 남기면 다음 배포에서 범위를 처음부터 추측하지 않아도 됩니다.
권장 기록은 기능 또는 모듈, 코드·SDK 구분, API 범주, 승인 사유, 근거 링크 또는 검색 결과, manifest target, 검증한 빌드 식별자, 재검토 조건입니다. 개인 식별자·실사용 로그 같은 민감한 내용을 이 점검표에 복사할 필요는 없습니다. 결정 근거와 재검토 시점만 남기세요.
Required Reason API MVP 검수의 핵심은 manifest를 빈칸 없이 채우는 일이 아니라, 실제 사용·승인 사유·번들 책임·배포 후보를 같은 기준으로 연결하는 일입니다. 유인어스는 민간 사업 지원 서비스이며, 이 글은 특정 앱의 심사 통과·보안 적합성·법적 적합성을 보장하지 않습니다. 실제 출시 전에는 현재 Apple 문서와 앱의 최신 빌드를 함께 확인하세요.
자주 묻는 질문
Privacy Manifest에 사유를 적으면 제출 검수는 끝난 건가요?
아닙니다. 실제 코드·SDK의 API 사용, 선택한 승인 사유, 대상 번들 포함 여부, 최종 빌드의 privacy report와 사용자 기능 설명을 함께 확인해야 합니다. 제출 결과는 App Store Connect의 실제 응답으로 별도 확인하세요.
외부 SDK가 API를 쓰면 앱 manifest에만 적으면 되나요?
아닙니다. Apple은 SDK가 Required Reason API를 사용하면 그 SDK의 Privacy Manifest가 해당 사용을 보고해야 한다고 안내합니다. 앱에는 포함한 SDK·버전과 최종 빌드의 결과를 검토하는 책임이 남습니다.
수집 데이터가 없으면 Required Reason API도 확인할 필요가 없나요?
그렇지 않습니다. Privacy Manifest는 수집 데이터와 Required Reason API 사용을 각각 기록합니다. 데이터 수집 판단과 API 사용 판단을 같은 결론으로 묶지 말고, 실제 코드와 SDK를 기준으로 분리해 확인하세요.
SDK를 업데이트했을 때 다시 검토해야 하나요?
검토하는 편이 좋습니다. SDK 버전 변경으로 포함되는 코드와 Privacy Manifest가 달라질 수 있으므로, API 사용 목록·승인 사유·배포 후보의 privacy report를 다시 대조하세요.
확인한 공식 출처
Apple Developer · Privacy manifest files — 2026-09-19 확인
Apple Developer · Describing use of required reason API — 2026-09-19 확인
Apple Developer · TN3183 — 2026-09-19 확인