Android 14부터 Android 패키지 설치 프로그램은 업데이트된 위치 정보 액세스 권한 메시지와 같은 Android 플랫폼 기능에 사용하기 위해 데이터 보안 관행과 같은 앱 관련 메타데이터를 수집할 수 있습니다.
이 메타데이터는 다음 두 가지 방법으로 제공할 수 있습니다.
시스템 이미지에 미리 로드된 앱의 경우 기기 제조업체는 아래에 설명된 지속 가능한 번들과 함께 시스템 이미지에 XML 파일을 추가하여 앱에 관한 메타데이터를 제공할 수 있습니다.
설치 또는 업데이트되는 앱의 경우 이 메타데이터를 지정하려면 앱 설치 프로그램은
PersistableBundle
객체를setAppMetadata()
메서드에 전달해야 합니다.
지속 가능한 최상위 번들은 다음 키-값 쌍으로 구성됩니다. 달리 지정되지 않는 한 각 키는 선택사항입니다.
version
(필수 항목)- 앱 메타데이터 형식의 버전 번호입니다. 현재 버전의 값으로
2
를 사용하고 유형으로long
를 사용합니다.AppMetadata
의 예상 키 또는 콘텐츠 유형이 변경되면 Android는 버전 번호를 변경합니다. safety_labels
- 앱의 안전 라벨을 지정하는
PersistableBundle
객체입니다. system_app_safety_label
- 앱의 system-app-safety-label을 지정하는
PersistableBundle
객체입니다. 시스템 서비스 역할을 하는 앱의 경우safety_labels
번들 대신system_app_safety_label
번들이 사용됩니다. transparency_info
- 앱의 투명성 정보를 지정하는
PersistableBundle
객체입니다.
보안 라벨 형식
safety_labels
번들에는 다음 키-값 쌍이 포함되어 있습니다.
version
(필수 항목)- 보안 라벨 형식의 버전 번호입니다. 현재 버전의 값으로
1
를 사용하고 유형으로long
를 사용합니다. data_labels
- 앱에서 수집하고 공유하는 데이터를 지정하는
PersistableBundle
객체입니다. security_labels
- 앱의 데이터 삭제 및 암호화 관행을 지정하는
PersistableBundle
객체입니다. third_party_verification
- 앱의 데이터 보안 관행이 서드 파티에 의해 인증되는 방식을 지정하는
PersistableBundle
객체입니다.
수집 및 공유되는 데이터
data_labels
번들에는 다음 키-값 쌍이 포함되어 있습니다.
data_collected
- 앱에서 수집하는 데이터 유형을 지정하는
PersistableBundle
객체입니다. data_shared
- 앱에서 공유하는 데이터 유형을 지정하는
PersistableBundle
객체입니다.
데이터 카테고리
data_collected
및 data_shared
키 모두 다음 목록에 표시된 키-값 쌍을 포함하는 data_category
번들 형식을 사용합니다. 각 키는 특정 카테고리의 데이터 유형을 지정하는 PersistableBundle
객체에 매핑됩니다.
personal
financial
location
email_text_message
photo_video
audio
storage
health_fitness
contacts
calendar
identifiers
app_performance
actions_in_app
search_and_browsing
데이터 유형
data_category
번들의 각 키는 data_type
형식을 사용하는 다른 번들에 매핑됩니다. data_type
형식으로 지정하는 키는 data_category
에 선택하는 항목에 따라 달라집니다.
가능한 data_type
키-값 쌍이 다음 목록에 표시됩니다. 이러한 각 키의 값은 특정 데이터 유형에 관한 앱의 데이터 사용 관행을 설명하는 PersistableBundle
객체입니다. 일부 데이터 유형은 키를 하나만 사용합니다.
개인
name
email_address
physical_address
phone_number
race_ethnicity
political_or_religious_beliefs
sexual_orientation_or_gender_identity
personal_identifiers
other
재무
card_bank_account
purchase_history
credit_score
other
위치
approx_location
precise_location
이메일 및 문자 메시지
emails
text_messages
other
사진 및 동영상
photos
videos
오디오
sound_recordings
music_files
other
저장용량
files_docs
건강 및 운동
health
fitness
연락처
contacts
캘린더
calendar
식별자
other
앱 성능
crash_logs
performance_diagnostics
other
앱에서의 작업
user_interaction
in_app_search_history
installed_apps
user_generated_content
other
검색 및 탐색
web_browsing_history
데이터 사용
data_usage
번들에는 다음 키-값 쌍이 포함되어 있습니다.
purposes
(필수)-
데이터를 수집하거나 공유하는 구체적인 이유를 나타내며
PersistableBundle
putIntArray
메서드를 사용하는 정수 배열입니다. 각 번들에는 아래에 정의된 목적 중 하나 이상이 필요합니다.1
: PURPOSE_APP_FUNCTIONALITY2
: PURPOSE_ANALYTICS3
: PURPOSE_DEVELOPER_COMMUNICATIONS4
: PURPOSE_FRAUD_PREVENTION_SECURITY5
: PURPOSE_ADVERTISING6
: PURPOSE_PERSONALIZATION7
: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional
-
불리언 값입니다. 사용자가 데이터 수집을 선택할 수 있는지 여부를 지정합니다.
참고: 이 값은 데이터 수집을 나타내는
data_category
번들에만 설정합니다. 데이터 공유에는 설정하지 마세요. ephemeral
-
불리언 값입니다. 앱이 디스크가 아닌 메모리에서만 서버 측에서 데이터를 처리할지, 특정 데이터 처리 요청을 처리하는 데 필요한 시간 이상으로 데이터를 보관하지 않는지 지정합니다.
참고: 이 값은 데이터 수집을 나타내는
data_category
번들에만 설정합니다. 데이터 공유에는 설정하지 마세요.
데이터 삭제 및 암호화 관행
security_labels
번들에는 앱의 데이터 삭제 및 암호화 관행을 나타내는 키-값 쌍이 포함되어 있습니다.
is_data_deletable
- 불리언 값입니다. 앱에서 사용자가 사용자 데이터 삭제를 요청하도록 허용할지 여부를 지정합니다.
is_data_encrypted
- 불리언 값입니다. 앱에서 수집하는 모든 사용자 데이터를 전송 중에 암호화할지 여부를 지정합니다.
서드 파티 인증
third_party_verification
번들은 단일 키 url
로 구성됩니다. 이 URL은 문자열 값으로 표시되며 앱의 데이터 보안 정보를 인증하는 데 사용되는 서드 파티 웹사이트를 지정합니다.
시스템 서비스 보안 라벨 형식
시스템 서비스 역할을 하는 앱의 경우 safety_labels
번들 대신 system_app_safety_label
번들이 사용되며 다음 키-값 쌍을 포함합니다.
url
(필수)
- 시스템 서비스로 작동하는 앱의 안전 정보가 포함된 페이지로 연결되는 URL입니다.
- 유형으로
string
를 사용합니다. - 이 URL이 제공되지 않은 경우 개인정보처리방침 URL을 대체로 사용해야 합니다.
- 참고: Google Play 스토어는
privacy_policy
를 대체 수단으로 사용합니다.
투명성 정보 형식
transparency_info
번들에는 다음 키-값 쌍이 포함되어 있습니다.
developer_info
- 앱 개발자 정보를 지정하는
PersistableBundle
객체입니다. app_info
- 앱에 대한 정보를 지정하는
PersistableBundle
객체입니다.
개발자 정보
developer_info
번들에는 다음 키-값 쌍이 포함되어 있습니다.
developer_#
- 개발자를 식별하는
PersistableBundle
객체입니다.developer_info
에는 하나 이상의developer_#
가 포함됩니다. 여기서#
는 정수입니다. 예를 들면developer_0
,developer_1
,developer_2
등입니다.
개발자
developer_#
번들에는 다음 키-값 쌍이 포함되어 있습니다.
name
(필수)- 개발자 이름을 명시하는 문자열입니다.
email
(필수)- 개발자의 이메일 주소를 명시하는 문자열입니다.
address
(필수)- 개발자의 우편 주소를 명시하는 문자열입니다.
country_region
(필수)- 개발자의 국가 또는 지역을 명시한 문자열입니다.
website
- 개발자의 웹사이트를 명시하는 문자열입니다.
app_registry
- 개발자의 스토어 또는 레지스트리를 명시하는 문자열입니다.
- 개발자가 스토어나 다른 레지스트리에도 등록된 경우 값은 스토어의 Android 패키지 이름 또는 레지스트리의 URL이어야 합니다.
- 여러 매장에 대해 여러 항목을 제출할 수 있습니다.
- Google Play의 경우
com.android.vending
를 사용합니다. - 개발자가 Google Play SDK 색인에 나열된 SDK인 경우 이 속성을 생략합니다.
- 개발자가 앱 스토어 또는 레지스트리에 등록되지 않은 경우 이 속성을 생략합니다.
app_registry_id
- 명시된
app_registry
의 개발자 ID를 명시하는 문자열입니다. - 개발자가 스토어 또는 다른 레지스트리에도 등록된 경우 값은 저장소 또는 레지스트리 ID여야 합니다.
- 여러 매장에 대해 여러 항목을 제출할 수 있습니다.
- Google Play에 등록된 개발자의 경우 이 값은 개발자 페이지의 URL이어야 합니다. 예를 들어 https://play.google.com/store/apps/dev?id=5700313618786177705는 개발자 Google LLC의 URL입니다.
- 개발자가 Google Play SDK 색인에 등록된 SDK 개발자인 경우 SDK의 Google Play SDK 색인 URL을 사용합니다. 예를 들어 https://play.google.com/sdks/details/com-google-android-gms-play-services-ads는 Google 모바일 광고(GMA) SDK의 Google Play SDK 색인 URL입니다.
- 개발자가 다른 스토어 또는 레지스트리에 등록된 경우 앱 스토어 URL 또는 기타 식별자를 제공할 수 있습니다.
- 개발자가 앱 스토어에 등록되지 않은 경우 이 속성을 생략할 수 있습니다.
앱 정보
app_info
번들에는 다음 키-값 쌍이 포함되어 있습니다.
title
(필수)- 앱 제목을 명시하는 문자열입니다.
description
(필수)- 사람이 읽을 수 있는 영어로 된 텍스트 blob에 앱의 목적을 명시하는 문자열입니다.
contains_ads
(필수)- 앱의 광고 표시 여부를 선언하는 불리언입니다.
privacy_policy
(필수)
- 사용자 데이터가 처리되는 방식을 자세히 설명하는 개인정보처리방침으로 연결되는 URL 속성이 포함된 문자열입니다.
- 사용자 데이터를 전송하는 앱에 필요합니다.
- 앱에 이 링크가 포함되어 있지 않으면 앱에서 사용자 데이터를 처리하지 않는 것으로 간주됩니다.
category
(필수)앱의 기본 목적을 가장 잘 설명하는 다음 앱 카테고리 중 하나가 포함된 문자열입니다.
- Android (AOSP 구성요소에만 해당)*
- 예술/디자인
- 자동차 및 이동 수단
- 뷰티
- 도서/참고자료
- 비즈니스
- 만화
- 커뮤니케이션
- 데이트
- 교육
- 엔터테인먼트
- 이벤트
- 금융
- 식음료
- 게임
- 건강 및 피트니스
- 홈/인테리어
- 설치 프로그램 (앱 스토어 또는 기타 설치 프로그램 전용)*
- 라이브러리/데모
- 라이프스타일
- 지도/내비게이션
- 의료
- 음악 및 오디오
- 뉴스/잡지
- 육아
- 맞춤설정
- 사진
- 생산성
- 보안*
- 쇼핑
- 소셜
- 스포츠
- 도구
- 여행/지역정보
- 업데이터 (기기의 기본 무선 업데이트 (OTA) 전용)*
- 동영상 플레이어 및 편집기
- 날씨
contact_info
- 앱의 연락처 정보가 포함된
PersistableBundle
객체입니다 (아래).
연락처 정보
contact_info
번들에는 다음 키-값 쌍이 포함되어 있습니다.
email
(필수)- 앱의 이메일 주소를 명시하는 문자열입니다.
website
- 앱의 웹사이트를 명시하는 문자열입니다.