문서 검색

개인정보와 권한

개인정보 처리방침 URL · App Store 의 앱 개인정보 응답 · Google Play 의 데이터 보안 양식 · 계정 삭제 · 권한 사용 사유 문구를 한 번에 맞추는 순서를 정리합니다.

마지막 확인:
목차

스토어는 앱이 어떤 개인정보를 모으고 어떻게 쓰는지를 스토어 소개 화면에 공개하게 합니다. 이 페이지는 개인정보 처리방침, 스토어별 선언 양식, 계정 삭제, 권한 사용 사유 문구를 한 번에 맞추는 순서를 안내합니다. 가장 중요한 원칙은 방침 · 선언 · 실제 앱 동작이 서로 같아야 한다는 것입니다. Google 은 선언과 앱 동작이 다른 것을 알게 되면 집행 조치를 할 수 있다고 안내합니다.

주의

이 가이드는 스토어 요건만 다룹니다. 개인정보 보호법을 비롯해 앱을 제공하는 지역의 법령상 의무는 따로 확인하세요. Apple 도 앱이 제공되는 모든 지역의 법적 요구사항을 따라야 하고 확실하지 않으면 법률 전문가에게 확인하라고 안내합니다.

준비물

  • 데이터 목록 — 앱이 입력받거나 기기에서 읽는 정보(계정 · 위치 · 사진 · 연락처 · 기기 식별자 · 사용 기록 등), 그 정보를 어디로 보내는지(내 서버 · 분석 · 광고 · 오류 수집 · 결제 · 로그인), 얼마나 보관하는지. 서드파티 SDK 가 보내는 정보도 포함합니다.
  • 공개 URL — 개인정보 처리방침을 올릴 웹 페이지 주소. 로그인 없이 열려야 합니다.
  • 문의 연락처 — 방침에 적고, 스토어의 지원 URL · 이메일에도 씁니다.
  • 계정 기능 — 앱에서 계정을 만들 수 있다면 계정 삭제 기능이 있어야 합니다.

스토어별 요건

항목 App Store · Mac App Store Google Play Microsoft Store
개인정보 처리방침 모든 앱에 필수입니다. App Store Connect 에 URL 을 넣고 앱 안에서도 쉽게 찾을 수 있어야 합니다 데이터 보안 양식을 채우는 데 필요합니다. 데이터를 전혀 수집하지 않아도 양식과 방침 링크가 필요합니다(내부 테스트 트랙만 쓰는 앱은 제외) 개인정보에 접근 · 수집 · 전송하면 필수입니다. Win32 · Desktop Bridge 제품은 늘 방침이 있어야 한다고 정책(10.5.1)에 있습니다
데이터 선언 「앱이 수집하는 개인정보(App Privacy)」 질문에 응답하고 제품 페이지에 공개합니다 「앱 콘텐츠(App content)」의 「데이터 보안(Data safety)」 양식을 제출합니다 제출의 「속성(Properties)」에서 개인정보 접근 여부와 방침 URL 을 입력합니다
서드파티 코드 앱에 넣은 서드파티 코드의 개인정보 관행도 응답에 포함합니다 SDK · 라이브러리가 수집 · 공유하는 데이터도 양식에 반영합니다 방침이 앱이 접근 · 수집 · 전송하는 개인정보를 설명해야 합니다
생성형 · 제3자 AI 개인정보를 제3자 AI 를 포함한 제3자와 공유하는 곳을 분명히 밝히고, 공유하기 전에 명시적 허락을 받아야 합니다(심사 지침 5.1.2(i)) 사용자 데이터 요건이 서드파티 AI 연동에도 적용된다고 2026-07-15 정책 공지가 밝혔습니다 실시간 생성형 AI 응답이 있으면 메타데이터에 사용 사실을 밝히고 제출할 때 파트너 센터에 표시하며 사용자 신고 수단을 제공해야 합니다(정책 11.16)
계정 삭제 계정 생성을 지원하면 앱 안에서 삭제를 시작할 수 있어야 합니다 계정 생성을 지원하면 앱 안 삭제 경로와 웹 삭제 요청 링크가 모두 필요합니다 계정 삭제를 직접 요구하는 조항은 정책에서 확인하지 못했습니다. 다만 제3자에게 개인정보를 공개하려면 옵트인 동의와 철회 수단이 필요합니다(10.5.2)
권한 사유 Info.plist 의 사용 설명 문자열 필수 핵심 기능에 필요한 권한만, 필요한 순간에 요청 패키지에 선언한 capabilities 에 따라 방침이 요구될 수 있습니다

단계

  1. 데이터 목록을 만듭니다. 앱이 하는 일을 화면별로 따라가며 입력 · 읽기 · 전송 · 저장을 적습니다. Google 은 앱에서 기기 밖으로 전송하는 것을 「수집」으로 정의하고, 서드파티 SDK 가 보내는 것도 포함합니다. pubspec.yaml 의 의존성에서 네트워크로 데이터를 보내는 패키지를 찾아 그 패키지의 안내(개인정보 · 데이터 보안 문서)를 확인하세요.

  2. 개인정보 처리방침을 쓰고 게시합니다. Apple 은 방침이 다음을 분명히 밝혀야 한다고 정합니다: 앱이 수집하는 데이터 · 수집 방법 · 모든 사용 목적, 서드파티(분석 · 광고 · SDK 포함)가 같은 수준으로 보호한다는 확인, 데이터 보관 · 삭제 정책과 사용자가 동의를 철회하거나 삭제를 요청하는 방법. Microsoft 는 접근 · 수집 · 전송하는 개인정보, 사용 · 저장 · 보호 방식, 공개하는 상대의 종류, 사용자가 가진 통제 방법을 요구합니다. 새 기능을 더할 때마다 방침을 최신으로 유지하세요.

  3. 스토어에 선언을 입력합니다.

    • Apple — App Store Connect 에서 앱을 선택하고 사이드바의 「앱이 수집하는 개인정보(App Privacy)」 → 「시작하기(Get Started)」로 들어가 수집 여부를 고르고 데이터 유형마다 질문에 답한 뒤 「게시(Publish)」를 누릅니다. 같은 화면의 Privacy Policy 옆 「편집(Edit)」에서 방침 URL 을 넣습니다.
    • Google — Play Console 의 「앱 콘텐츠(App content)」 페이지에서 개인정보처리방침 링크와 「데이터 보안(Data safety)」 양식을 채우고, 계정 삭제 질문에도 답합니다. 같은 페이지에서 광고 포함 여부 · 로그인 세부정보(Sign-in details, 한국어 도움말의 「앱 액세스 권한」) · 타깃 연령층 · 광고 ID 선언에도 답해야 합니다(제출 전 체크리스트 참고).
    • Microsoft — 파트너 센터 제출의 「속성(Properties)」에서 앱이 개인정보에 접근 · 수집 · 전송하는지 표시하고 방침 URL 을 넣습니다. 필요한데 빠지면 인증에 실패할 수 있고, 패키지에 개인정보에 접근할 수 있는 capability 가 있으면 스토어가 이 질문을 자동으로 「예」로 바꾸고 방침 URL 을 요구합니다.
  4. Apple 은 개인정보 매니페스트도 챙깁니다. 앱과 SDK 가 쓰는 「필수 사유 API(required reasons API)」에는 승인된 사유를 적어야 새 앱이나 업데이트를 App Store Connect 에 올릴 수 있습니다(2024-05-01 부터). Apple 문서는 iOS · iPadOS · tvOS · visionOS · watchOS 앱을 대상으로 적고 macOS 는 그 목록에 없습니다. 사유는 PrivacyInfo.xcprivacy 파일에 적고, Xcode 에서는 File → New File 의 App Privacy File 로 만듭니다. Apple 이 개인정보 매니페스트를 요구하는 서드파티 SDK 목록에는 Flutter 와 흔히 쓰는 Flutter 플러그인(path_provider · url_launcher · share_plus 등)도 들어 있으니, 플러그인을 더하거나 올릴 때 Apple 의 SDK 목록을 확인하세요. 목록의 이름이 현재 패키지 이름과 다를 수 있으니 플러그인이 쓰는 API 로도 확인하세요.

  5. 권한 사용 사유 문구를 씁니다. 아래 「권한 문구 쓰는 법」을 보세요.

  6. 계정 삭제 경로를 만듭니다(계정 생성이 있는 앱). Apple 은 앱 안에서 계정 삭제를 시작할 수 있어야 하고, 계정을 잠시 비활성화하는 것만으로는 부족하다고 안내합니다. 삭제를 끝내려고 웹사이트로 보낸다면 그 삭제 페이지로 바로 가는 링크를 넣으세요. Google 은 앱 안 경로와 함께 웹에서 삭제를 요청할 수 있는 링크를 요구합니다. Sign in with Apple 을 쓰면 REST API 로 토큰을 폐기해야 하고, 한국에 있는 개발자는 새 Services ID 를 등록할 때 서버 간 알림 엔드포인트도 제공해야 합니다.

    참고

    제3자 · 소셜 로그인 서비스로 앱의 기본 계정을 만들거나 인증하는 앱은 조건을 갖춘 동등한 다른 로그인 수단(데이터 수집을 이름 · 이메일로 제한하고, 이메일 비공개를 지원하며, 동의 없이 광고 목적으로 앱 내 상호작용을 수집하지 않는 수단)도 함께 제공해야 합니다(App Store 심사 지침 4.8). 지침이 예로 드는 서비스는 Facebook · Google · X · LinkedIn · Amazon · WeChat 로그인입니다.

  7. 셋이 같은지 확인합니다. 방침 · 스토어 선언 · 실제 앱 동작을 나란히 놓고 다른 곳이 없는지 봅니다. SDK 를 더하거나 바꾼 뒤에는 이 확인을 다시 합니다.

권한 문구 쓰는 법

  • iOS · macOS — 카메라 · 위치 · 사진 같은 보호된 데이터에 접근하는 API 를 쓰면 앱의 Info.plist 에 해당 키(예: NSCameraUsageDescription)와 사용자에게 보이는 사용 설명 문자열이 있어야 하고, 사용자 데이터에 접근하는 앱은 모두 이 문자열을 포함해야 합니다. 앱이 그 데이터를 어떻게 쓰는지 분명하고 완전하게 설명하고, 예시를 들면 사용자가 이유를 이해하는 데 도움이 됩니다. Apple 은 문구를 짧고 완전한 한 문장으로 쓰고, 여러 언어를 지원하는 앱이면 사용 설명 문자열도 현지화하라고 안내합니다. iOS · iPadOS 에서 사용자를 추적하거나 광고 식별자(IDFA)에 접근하려면 App Tracking Transparency 로 허락을 받아야 하고 NSUserTrackingUsageDescription 문구가 필요합니다. 이 키 없이 ATT 를 쓰면 앱이 종료됩니다(macOS 에는 해당하지 않습니다). 또 iOS 는 연결된 플러그인 · SDK 가 참조하는 API 의 사유 문자열도 App Review 에 필요하니, 업로드 때 누락된 키 오류가 나면 그 키를 추가하세요.
  • Android — 스토어에 알린 핵심 기능에 필요한 권한만 요청하고, 사용자가 이유를 알 수 있게 필요한 순간에 맥락 안에서 요청합니다. 위험 권한은 런타임에 분명한 설명과 함께 요청하고, 거절해도 쓸 수 있는 대안을 두는 것이 좋습니다.
    • 권한은 android/app/src/main/AndroidManifest.xml 에 선언합니다(릴리스 빌드에서 인터넷을 쓰는 앱은 android.permission.INTERNET 도 필요합니다).
    • 사용자가 예상하기 어려운 방식으로 개인 · 민감 데이터를 수집한다면(예: 백그라운드 위치) 권한이나 동의를 요청하기 직전에 앱 안에서 데이터 접근 · 수집 · 사용 · 공유를 설명하는 공개 문구를 보여 주고 사용자의 명시적 행동으로 동의를 받아야 하며, 방침이나 이용약관에만 적어서는 안 됩니다.
    • SMS · 통화 기록 같은 위험성이 높은 권한은 Play Console 의 권한 선언 양식과 Google Play 승인이 필요할 수 있고 처리에 최대 수주가 걸릴 수 있습니다.
    • 광고 ID 를 쓰는 앱(SDK 가 쓰는 경우 포함)이 Android 13(API 수준 33) 이상을 타깃하면 com.google.android.gms.permission.AD_ID 권한도 선언해야 하며, Google Mobile Ads SDK 처럼 라이브러리 매니페스트가 이미 병합해 주는 경우도 있습니다.
    • Google 은 2027-01-27 부터 연락처 권한 정책을 새로 두어 광범위한 접근이 필요 없는 앱은 Android Contact Picker 를 쓰게 하고, 위치 권한 정책에서는 정밀 위치의 권장 최소 범위를 위치 버튼으로 개정한다고 예고했습니다.
  • Windows — MSIX 패키지에 앱이 쓰는 capabilities 를 선언합니다. Flutter 의 msix 패키지는 msix_config 의 capabilities 로 정하고, 제한된 기능인 runFullTrust 는 항상 매니페스트에 넣습니다(3.18.0 기준). 제한된 기능은 제출할 때 사유를 입력해야 승인되고 심사 시간이 늘 수 있습니다.
쓰지 말 것 이렇게 쓰세요
카메라 접근이 필요합니다. 프로필 사진을 바로 찍어 등록하려고 카메라를 사용합니다.
위치 권한이 필요합니다. 지금 계신 곳에서 가까운 매장을 보여 주려고 위치를 사용합니다. 위치는 서버에 저장하지 않습니다.
앱 사용을 위해 모든 권한을 허용해 주세요. 권한마다 따로, 그 기능을 처음 쓰는 순간에 이유와 함께 요청합니다.

확인

  • 방침 URL 이 로그인 없이 열리고, 앱 안에서도 방침 링크를 찾을 수 있습니다.
  • Apple 은 「앱이 수집하는 개인정보」 응답을 게시했고, Google 은 데이터 보안 양식을 제출했으며, Microsoft 는 속성에 방침 URL 을 넣었습니다.
  • 앱이 쓰는 권한마다 사유 문구가 있고, 쓰지 않는 권한은 선언에서 뺐습니다(iOS 는 플러그인 · SDK 가 참조하는 API 의 사유 문자열이 남아 있어야 할 수 있습니다).
  • 계정을 만들 수 있는 앱이면 앱 안에서 계정 삭제를 시작할 수 있습니다.

자주 겪는 문제

데이터를 전혀 수집하지 않는데도 양식이 필요한가요?

네. Google 은 데이터를 수집하지 않는 앱도 데이터 보안 양식과 개인정보처리방침 링크를 제출해야 한다고 안내합니다. Apple 은 「아니요, 이 앱에서 데이터를 수집하지 않습니다(No, we do not collect data from this app)」를 선택하면 더 답하지 않아도 되지만, 개인정보 처리방침 URL 은 모든 앱에 필수입니다.

서드파티 SDK 가 수집하는 것도 선언해야 하나요?

네. Apple 은 앱에 넣은 서드파티 파트너 코드의 개인정보 관행까지 응답에 포함하라고 안내하고, Google 은 SDK 가 수집 · 공유하는 데이터를 양식에 반영하라고 안내합니다.

심사에서 개인정보 때문에 거절됐습니다

Apple 이 자주 드는 사유는 방침이 수집 데이터 · 서드파티 보호 · 보관과 삭제 방법을 밝히지 않은 경우, 그리고 사용 설명 문자열이 불분명한 경우입니다. 방침을 위 항목과 하나씩 대조하고 문자열을 구체적으로 고치세요.

Windows 앱인데 개인정보 처리방침이 꼭 필요한가요?

Microsoft 정책 10.5.1 은 Win32 · Desktop Bridge 제품은 개인정보에 접근하는 것으로 보고 항상 방침을 요구한다고 정합니다. Flutter 의 Windows 앱은 Win32 창을 쓰는 데스크톱 앱이므로, 방침 URL 을 준비해 두는 편이 안전합니다.

다음 단계

개인정보 준비까지 끝났으면 제출 직전에 한 번에 점검합니다. 제출 전 체크리스트로 이어서 진행하세요.

출처