Android는 사용자가 최신 혁신 기술을 활용할 수 있도록 돕는 동시에 보안과 개인 정보 보호를 최우선으로 합니다. 이 페이지의 체크리스트를 일반적인 개인 정보 보호 가이드라인 및 권장사항의 자료로 사용하세요.
이 페이지에서 설명하는 권장사항 중 일부는 요약본에도 나와 있습니다.
체크리스트: 권한 요청 최소화
투명성을 유지하고 사용자가 앱 사용 환경을 직접 관리하도록 지원하여 사용자와 신뢰 관계를 구축하세요.
- 기능에 필요한 최소한의 권한 요청: 앱에 중요한 변경사항을 도입할 때 요청된 권한을 검토하여 앱의 기능에 여전히 필요한지 확인합니다.
- 최신 버전의 Android에서는 권한을 요구하지 않고도 개인 정보를 안전하게 보호하는 방식으로 데이터에 액세스하는 방법을 도입하는 경우가 많습니다. 자세한 내용은 앱에서 권한을 선언해야 하는지 평가하기를 참고하세요.
- 앱이 Google Play에서 배포되는 경우 Android vitals를 사용하여 앱에서 권한을 거부하는 사용자의 비율을 확인할 수 있습니다. 이 데이터를 사용하여, 필요한 권한이 가장 흔히 거부되는 기능의 설계를 재평가합니다.
- 앱의 기능에 권한이 필요한 이유 설명: 권장되는 흐름을 따라 이렇게 하세요. 앱이 시작할 때보다는 권한이 필요할 때 이를 요청하여 사용자가 권한이 필요한 이유를 명확히 알 수 있도록 합니다.
- 사용자나 시스템이 권한을 여러 번 거부할 수 있음을 인식: Android는 동일한 앱의 권한 요청을 무시하여 이러한 사용자 선택을 존중합니다.
- 권한 없이 단계적으로 성능 저하: 사용자가 권한을 거부하거나 취소하면 앱의 성능이 단계적으로 저하되어야 합니다(예: 사용자가 마이크 권한을 부여하지 않으면 음성 입력을 사용 중지).
- 불필요한 권한 액세스 삭제: 앱을 업데이트할 때 더 이상 필요하지 않은 런타임 권한에 대한 액세스를 삭제합니다.
- SDK 또는 라이브러리에 필요한 권한 이해: 위험한 권한으로 보호되는 데이터에 액세스하는 SDK나 라이브러리를 사용하고 있다면 사용자는 일반적으로 앱에 문제가 있다고 생각합니다. SDK에 필요한 권한과 그 이유를 이해해야 합니다.
체크리스트: 위치 사용 최소화
사용자 위치에 관한 데이터는 민감한 정보입니다. 가능하면 위치 데이터는 사용하지 마세요. 위치 서비스를 사용해야 하면 위치 데이터 수집을 최소화하는 단계를 따릅니다. 다음 체크리스트를 사용하여 앱의 위치 사용을 최소화하세요.
- 위치 데이터 없이 단계적으로 성능 저하: Android 10(API 수준 29) 이상에서는 사용자가 앱을 사용하는 동안 앱의 위치 액세스를 제한할 수 있습니다. 앱에서 중단 없이 위치 정보에 액세스할 수 없을 때 단계적으로 성능이 저하되도록 앱을 설계합니다.
- 근처 블루투스 또는 Wi-Fi 기기 사용: 앱에서 블루투스 또는 Wi-Fi를 통해 사용자 기기를 근처 기기와 페어링해야 한다면 위치 정보 액세스 권한이 필요하지 않은 호환 기기 관리자를 사용합니다. 블루투스 및 Wi-Fi 권한에 관해 자세히 알아보세요.
- 가능하면 대략적 위치 정확도 사용: 앱에 필요한 위치 세부사항의 수준을 검토합니다. 대부분의 위치 관련 사용 사례는 대략적인 위치 정보에 액세스하는 것으로 충분히 실행할 수 있습니다.
- 필요할 때만 백그라운드에서 위치에 액세스: 앱에 지오펜싱과 같이 백그라운드 위치 정보 액세스가 필요한 경우 사용자에게 명확하게 표시되도록 구현합니다. 백그라운드 위치 정보 액세스 사용 고려사항에 관해 자세히 알아보세요.
- 앱이 사용자에게 표시되는 동안 위치 데이터에 액세스: 이를 통해 사용자가 앱에서 위치 정보를 요청하는 이유를 더 잘 이해할 수 있습니다.
- 백그라운드에서 포그라운드 서비스 시작 안 함: 알림에서 앱을 실행한 다음 앱의 UI가 표시될 때 위치 코드를 실행하는 것이 좋습니다. 사용자가 앱의 UI에서 나간 후 앱이 사용자가 시작한 진행 중인 작업을 지원하기 위해 위치 액세스를 유지해야 한다면 백그라운드로 이동하기 전에 포그라운드 서비스를 시작합니다.
체크리스트: 데이터를 안전하게 처리
참고: Google Play 개발자 정책 센터의 사용자 데이터 관련 도움말 페이지에서 민감한 정보로 간주되는 데이터에 관해 자세히 알아볼 수 있습니다.
투명하고 안전하며 철저한 방식으로 민감한 정보를 처리합니다. 다음 체크리스트를 가이드로 사용하여 앱에서 사용자 데이터를 더 안전하게 처리하세요.
데이터 액세스 분석: Android 11(API 수준 30) 이상에서는 데이터 액세스 분석을 실행하여 앱 및 앱의 종속 항목이 사용자의 비공개 데이터에 액세스하는 방식에 관한 유용한 정보를 얻을 수 있으므로 예상치 못한 데이터 액세스를 쉽게 식별할 수 있습니다.
패키지 공개 상태 요구사항 선언: 앱이 Android 11 이상을 타겟팅하는 경우 시스템은 기본적으로 특정 앱을 앱에 표시되지 않게 합니다. 내 앱에 이러한 다른 앱을 표시하는 방법을 알아보세요.
범위 지정 저장소 지원: 사용자에게 더 많은 제어 권한을 제공하고 파일이 복잡해지는 것을 제한하기 위해 Android 10(API 수준 29) 이상을 타겟팅하는 앱은 자동으로 외부 저장소로 범위가 지정된 액세스 권한 또는 범위 지정 저장소가 부여됩니다. 이러한 앱은 직접 만든 자체 디렉터리와 미디어에만 액세스할 수 있습니다. 범위 지정 저장소로 이전하는 방법을 알아보세요.
사용자가 재설정할 수 있는 식별자 사용: 사용자의 개인 정보를 보호하려면 사용 사례를 충족하는 가장 제한적인 식별자를 사용합니다. 이 문서에 나온 재설정 가능 식별자 체크리스트를 참고하세요.
명시적 공개 및 동의 제공: Google Play 사용자 데이터 정책 권장사항에 따라 사용자에게 명시적 공개 및 동의 요청을 제공합니다.
앱의 데이터 사용 선언: 앱에서 수집하고 공유하는 사용자 데이터 유형을 사용자에게 설명하는 Google Play Console 데이터 보안 양식을 올바르게 작성합니다.
민감한 정보를 다른 앱에 안전하게 전달: 명시적 인텐트를 사용하여 민감한 정보를 다른 앱에 전달합니다. 일회성 데이터 액세스 권한을 부여하여 다른 앱의 액세스를 더 엄격하게 제한합니다.
Logcat 메시지나 로그 파일에 민감한 정보를 포함하지 않음: 자세히 알아보기
체크리스트: 재설정 가능 식별자 사용
사용자의 개인 정보를 존중하고, 재설정 가능 식별자를 사용합니다. 자세한 내용은 고유 식별자 권장사항을 참고하세요.
IMEI 또는 기기 일련번호에는 액세스하지 않음: 이러한 식별자는 영구적입니다. Android 10(API 수준 29) 이상을 타겟팅하는 앱에서 이러한 식별자에 액세스하려고 하면
SecurityException
이 발생합니다.사용자 프로파일링 또는 광고 사용 사례에만 광고 ID 사용: 맞춤설정을 위해 항상 광고 추적의 사용자 환경설정을 존중합니다. 중요: Google Play의 필수사항입니다.
비공개로 저장된 GUID 사용: 광고가 아닌 대부분의 사용 사례에는 비공개로 저장된 전역 고유 ID(GUID)를 사용하며 이는 앱 범위에 해당합니다.
소유한 앱에 SSAID 사용: 사용자에게 계정 로그인을 요구하지 않고 개발자 소유 앱 간에 상태를 공유하려면 보안 설정 Android ID(SSAID)를 사용합니다. 앱 간에 로그아웃한 사용자의 환경설정을 저장하는 방법에 관해 자세히 알아보세요.
체크리스트: 사용자 대상 개인 정보 보호 기능 지원
투명하고 안전하며 철저한 방식으로 민감한 정보를 처리합니다. 다음 체크리스트를 가이드로 사용하여 앱에서 사용자 데이터를 안전하게 처리하세요.
민감한 정보에 액세스하는 근거 제공: Android 12(API 수준 31) 이상에서는 사용자가 시스템 설정의 개인 정보 대시보드에 액세스하여 앱이 위치, 마이크, 카메라 정보에 액세스하는 시점과 관련된 세부정보를 확인할 수 있습니다. 사용자에게 이 설명을 제공하는 방법을 자세히 알아보세요.
사용자에게 앱 최대 절전 모드를 사용 중지하라는 메시지 표시: 사용자가 Android 11(API 수준 30) 이상을 타겟팅하는 앱과 몇 개월 동안 상호작용하지 않았다면 시스템은 이 앱을 최대 절전 모드 상태로 전환합니다. 앱 최대 절전 모드 및 사용자에게 사용 중지를 요청하는 방법을 알아보세요.
민감한 정보를 다른 앱에 안전하게 전달: 민감한 정보를 다른 앱으로 전달해야 한다면 명시적 인텐트를 사용합니다. 일회성 데이터 액세스 권한을 부여하여 다른 앱의 액세스를 더 엄격하게 제한합니다.
앱이 오디오 또는 이미지를 캡처하고 있음을 시각적으로 표시: 앱이 포그라운드에 있을 때도 마이크나 카메라로 캡처하고 있다는 실시간 표시기를 표시합니다. Android 9(API 수준 28) 이상에서는 앱이 백그라운드에 있을 때 마이크 또는 카메라 액세스를 허용하지 않습니다.
개인 정보 보호 요약본
개인 정보 보호 요약본은 Android에서 가장 유용한 개인 정보 보호 API와 앱 설계 시 유의해야 할 권장사항의 빠른 참조입니다.
요약본은 PDF 형식으로 다운로드할 수도 있습니다.