앱 메타데이터 번들의 스키마

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_collecteddata_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_FUNCTIONALITY
  • 2: PURPOSE_ANALYTICS
  • 3: PURPOSE_DEVELOPER_COMMUNICATIONS
  • 4: PURPOSE_FRAUD_PREVENTION_SECURITY
  • 5: PURPOSE_ADVERTISING
  • 6: PURPOSE_PERSONALIZATION
  • 7: 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
앱의 웹사이트를 명시하는 문자열입니다.