Protecting the User’s Privacy

Panther·2021년 7월 26일
0

https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy

"Secure personal data, and respect user preferences for how data is used."

개인 데이터의 보안을 보장하고, 데이터가 어떻게 사용될 것인지에 대한 사용자 preference를 존중해줄 수 있도록 합니다.

Overview

사용자의 개인정보에 대한 설계는 중요합니다. 대부분의 애플 기기는 사용자가 앱이나 외부의 어떤 것에 노출되지 않기를 원하는 개인 정보를 포함합니다. 앱이 데이터를 부적절하게 접근하거나 사용하려고 한다면, 사용자는 앱 사용을 중단하고, 심지어 기기에서 앱을 삭제할 것입니다.

관련 법에 따라 사용자의 동의를 얻은 경우에만 사용자 데이터 혹은 기기 데이터에 접근할 수 있도록 해야 합니다. 더불어 사용자 데이터와 기기 데이터를 보호하기 위해 적합한 단계를 수행해야 합니다. 그리고 어떻게 사용하고 있는지에 대해 투명해야 합니다.

Review Guidelines from Government and Industry Sources

아래 문서를 참고하시기 바랍니다.

  • Mobile Privacy Disclosures: Building Trust Through Transparency. 모바일 개인정보에 대한 연방 거래 위원회의 보고서입니다.
  • Opinion 02/2013 on Apps on Smart Devices. 모바일 앱의 데이터 보호에 대한 의견입니다.
  • Privacy on the Go: Recommendations for the Mobile Ecosystem. 모바일 개인정보를 위한 캘리포니아 주립 변호사 제너럴의 추천사항입니다.
  • martphone Privacy Initiative (2012) in English or Japanese and Smartphone Privacy Initiative II (2013) in English or Japanese. 일본 총무성의 스마트폰 개인 정보 보호 관련입니다.

Request Access Only When Your App Needs the Data

위치, 연락처, 사진과 같은 민감한 사용자 데이터 혹은 기기 데이터에 대한 요청은 앱이 데이터가 필요한 시점에만 접근하도록 요청해야 합니다. 시스템이 앱에서 왜 접근이 필요한지에 대한 내용을 사용자에게 제공할 수 있도록 앱의 Info.plist 파일에서 목적 스트링(사용 설명 스트링이라고도 하는)을 제공해야 합니다. 사용자가 요청한 데이터에 접근을 승인하지 않은 경우에 대한 합리적인 대체 동작을 제공해야 합니다. 더 많은 정보는 Requesting Access to Protected Resources를 살펴보시기 바랍니다.

Requesting Access to Protected Resources
https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources
https://velog.io/@panther222128/Requesting-Access-to-Protected-Resources

Be Transparent About How Data Will Be Used

예를 들어 앱스토어에 앱을 제출할 때, 앱스토어 커넥트 메타데이터로써 개인정보 보호 정책 혹은 안내문에 대한 URL을 구체화하기 바랍니다. 앱 설명에서 정책 혹은 안내문을 요약해서 보여줄 수도 있습니다.

Give the User Control Over Data and Protect Data You Collect

사용자의 preference를 존중해야 합니다. 그리고 앱에서 수집하려는 데이터를 보호하기 위한 합리적인 단계를 취해야 합니다.

  • 민감한 정보에 접근을 허용하지 않을 수 있도록 설정을 제공해야 합니다. 운영체제는 위치, 연락처, 헬스 데이터처럼 보호받는 시스템 리소스에 대해 자동으로 이를 수행합니다. 이는 설정 앱의 개인정보 메뉴를 통해 수행됩니다. 소스로부터 캐시하거나 직접 수집하는 모든 데이터에 대해 이 동작을 확장시켜야 합니다. 예를 들어 만약 사용자가 개인 정보를 포함하는 소셜 미디어 프로필을 설정하려고 한다면, 데이터(서버에 있는 모든 복사본을 포함)를 삭제할 수 있는 방법을 제공해야 합니다.
  • iOS에 파일을 저장할 때, Encrypting Your App’s Files에서 설명하는 가장 강한 수준의 데이터 보호를 사용하시기 바랍니다. 사용자 데이터 혹은 기기 데이터를 네트워크를 통해 전송하는 경우 NSAppTransportSecurity에 설명되어 있는 것처럼 App Transport Security를 사용하시기 바랍니다.
  • 앱이 ASIdentifierManager 클래스를 사용하는 경우 isAdvertisingTrackingEnabled 속성 값을 준수하시기 발바니다. 만약 사용자가 해당 속성을 false로 설정하면, frequency capping, attribution, conversion events, estimating the number of unique users, advertising fraud detection, and debugging과 같은 제한된 광고 목적에서만 ASIdentifierManager 클래스를 사용하시기 바랍니다. AdSupport framework for additional information을 살펴보시기 바랍니다.
  • 만약 사용자를 영구적으로 확인해야 한다면, UIDevice 클래스의 identifierForVendor 속성 혹은 ASIdentifierManager 클래스의 advertisingIdentifier 속성을 사용하시기 바랍니다.

Use the Minimum Amount of Data Required

필요한 작업을 수행하기에 최소한의 사용자 데이터 혹은 기기 데이터를 요청하고 사용하시기 바랍니다.불필요하거나 합리적이지 않은 이유로 데이터에 접근하거나 수집하려고 하지 않아야 합니다. 당장이 아닌 나중에 유용할 것 같다고 판단되는 경우에도 그렇습니다.

오디오 입력을 지원하는 앱의 경우 실제로 레코딩을 시작하고자 하려는 시점에서만 레코딩을 위한 오디오 세션을 설정하시기 바랍니다. 당장 녹음이 필요한 경우가 아니라면 launch 타임에 레코딩을 위한 오디오 세션을 설정하지 않아야 합니다. 레코딩을 위한 오디오 세션을 앱이 설정하려고 할 때 시스템은 사용자에게 경고를 보냅니다. 그리고 사용자에게 앱에서 레코딩을 비활성화할 수 있는 옵션을 제공합니다.

Topics


Supporting Privacy

Requesting Access to Protected Resources

보호된 리소스에 대한 접근이 왜 필요한지 사용자에게 설명하는 목적 스트링을 제공합니다.

https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources
https://velog.io/@panther222128/Requesting-Access-to-Protected-Resources

Encrypting Your App’s Files

디스크에서 암호화함으로써 iOS에서 사용자의 데이터를 보호합니다.

https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/encrypting_your_app_s_files
https://velog.io/@panther222128/Encrypting-Your-Apps-Files


See Also


Essentials

About App Development with UIKit

iOS와 tvOS 앱을 위해 UIKit과 Xcode가 제공하는 기본적인 지원사항에 대해 배울 수 있는 글입니다.

https://developer.apple.com/documentation/uikit/about_app_development_with_uikit
https://velog.io/@panther222128/About-App-Development-with-UIKit


0개의 댓글