Lined Notebook

Privacy manifest

by 사슴비행기

해당 내용은 WWDC23 "Get started with privacy manifests" 영상

Privacy manifest files 문서와

이 블로그, 이 블로그 내용을 보고 제 나름의 해석을 포함해서 작성한 글입니다.

 

---

 

Privacy manifest : 앱이나 타사 SDK가 수집하는 데이터와 API가 사용되는 필수 이유를 설명해서

앱을 사용하는 사람들에게 내 개인정보가 어디로 수집되는지 알기 쉽게 한다.

 

애플에서 2024년 4월부터 앱 심사 때 Privacy manifest를 확인한다고 공지했다.

그렇다면 왜 강제화 했을까? 이게 왜 필요할까?

 

1. 개발자와 사용자에게 명확하지 않은 방식으로 개인 정보 보호에 영향을 끼칠 수 있다.

2. 앱 개발자가 타사 SDK에서 어떤 API를 사용하여 사용자 데이터를 수집하는지 이해할 때 도움을 준다.

3. 앱 개발자는 본인의 코드와 사용한 타사 SDK 코드에 대해 책임이 있으며, 따라서 해당 코드에서의 데이터 수집과 사용 관행에 대해 알고 있어야 한다.

4. 3번에 대해서 어려움을 겪을 수 있으므로, 타사 SDK 또한 Privacy manifest 파일을 포함해야 한다. (없는 경우 요청하여 받아야 한다)

 

이렇다고 볼 수 있겠다.

 

그럼 어떤 내용을 포함해야 하는 걸까?

추가 버튼을 눌러 목록을 확인해보면 4개가 보인다.

 

먼저 Privacy Accessed API Types.

앱에서 사용하고 있는 API들의 사용 이유를 정의한 배열이다.

여기서의 API는 Apple에서 제공한 UserDefaults 같은 것을 말한다.

이 항목에 넣어야 하는 것은 이 링크를 참고하면 된다.

 

두번째로 Privacy Nutrition Label Types

이건 NSPrivacyCollectedDataTypes과 같은거다. (다른 블로그 글 보면서 제일 헷갈렸던 것 중 하나. 하지만 문서를 보면 나와있다.)

이건, 앱이나 타사 SDK가 수집하는 데이터 유형을 설명하는 Dictionary 배열이다.

Dictionary에 사용할 key, value 값은 이 링크를 참고하면 된다.

이 정보는 아래처럼 앱스토어에서 사용자 데이터가 무엇이 수집, 사용하는지 보여주는 지표가된다.(아마도 맞을것이다.)

 

세번째로 Privacy Tracking Domains.

추적에 참여하는 앱 또는 타사 SDK가 연결되는 인터넷 도메인을 나열하는 문자열 배열이다.

여기에 도메인을 적으면, 그 외의 도메인으로는 네트워크 연결이 차단된다고 한다.

사용자 허가 및 개발자의 의도에 맞지 않는 앱 추적을 방지하는 역할을 하는 것 같다.

 

네번째로 Privacy Tracking Enabled

앱 또는 타사 SDK가 앱 추적 투명성 프레임워크에 정의된 대로 추적을 위해 데이터를 사용하는지 여부를 나타내는 부울값이다.

true로 설정하면 위의 Privacy Tracking Domains에 인터넷 도메인 목록을 제공해야 한다.

구글 애널리틱스는 이걸 명시해야 할 것 같았는데, 찾아보니 나와있지 않았다.

언제 어떻게 사용하는지는 좀 더 공부가 필요해 보인다.

 

일단 나의 경우, Privacy Accessed API Types만 입력해도 심사 통과에는 영향이 없었다. (운이 좋은 걸수도)

하지만 Privacy Report를 PDF로 추출하면

(※ PDF 파일은 [Window > Organizer]에서 빌드 프로젝트를 선택 및 우클릭하고 [Generate Privacy Report] 하면된다.)

 

아래 사진처럼 Error Encountered가 보인다.

Error라고 하니 고쳐야 할 것 같아서 확인해보니

 

Privacy Nutirition Label Types를 추가해야 하는 걸 알 수 있었다.

빈 Dictionary라도 넣어야 하는건지 초기값이 있는건지는 좀 더 알아봐야 할 것 같다.

 

블로그의 정보

Beautiful Coding

사슴비행기

활동하기