[iOS] 2022 New HIG Accessing private data 공식문서 정리 - Lawn

Lawn·2022년 8월 26일
1

🥳 NEW HIG 2022

목록 보기
14/23
post-thumbnail

안녕하세요 🌱 Lawn입니다 새롭게 바뀐 2022년 NEW HIG를 Study를 통해 공부하며 정리하는 중입니다.

🎈 HIG Study with

👨🏻‍💻 Halgen
👩‍💻 Dana


🌱 Accessing private data

사람들이 앱이나 게임을 신뢰할 수 있도록 하려면, 필요한 개인정보 보호 관련 데이터와 리소스 및 사용 방법을 투명하게 관리해야 합니다.

사람들은 기기를 매우 개인적으로 사용하며, 앱에서 개인 정보를 보호 받기를 기대합니다. 사람을 추적하거나 데이터 및 장치의 리소스에 접근할 수 있는 권한을 요청하는 것 이외에도 액세스가 허용된 데이터를 보호하는 것이 중요합니다.

새 앱이나 업데이트된 앱을 출시하려고 제출할 때, 앱 스토어의 제품 페이지에 개인 정보 보호 관행 및 수집한 개인 정보 관련 데이터에 대한 세부 정보를 제공해야 합니다. 이 정보는 App Store Connect 에서 언제든지 관리할 수 있습니다 .) 사람들은 앱을 다운로드하기 전, 제품 페이지의 개인 정보 세부 정보를 참고하여 다운받을지 결정을 내리기 때문입니다.  App privacy details on the App Store.를 참조하십시오.


🍀 Requesting permission

다음은 액세스 권한을 요청해야 하는 항목의 몇 가지 예시입니다.

  • 위치, 건강, 재정, 연락처 및 기타 개인 식별 정보를 포함한 개인 데이터
  • 이메일, 메시지, 캘린더 데이터, 연락처, 게임 플레이 정보, Apple Music 활동, HomeKit 데이터, 오디오, 비디오 및 사진 콘텐츠와 같은 사용자 생성 콘텐츠
  • Bluetooth 주변 장치, 홈 자동화 기능, Wi-Fi 연결 및 로컬 네트워크와 같은 보호된 리소스
  • 카메라 및 마이크와 같은 장치 기능
  • 앱 추적을 가능하게 하는 기기의 광고 식별자 (대부분의 웹과 앱에는 귀하의 관심사와 인구통계에 맞는 광고를 표시할 수 있도록 일종의 추적 기능이 있습니다. 이에 제한을 걸면 개인 맞춤 광고 추적이 불가능합니다.)

시스템은 사용자가 각 요청을 볼 수 있도록 표준적인 경고를 제공합니다. 앱에 액세스가 필요한 이유를 설명하는 사본을 입력하면 시스템이 경고에 설명을 표시합니다. 사람들은 설정 > 개인 정보 보호에서 설명을 보고 선택 사항을 업데이트할 수도 있습니다.

앱이 데이터 또는 리소스에 액세스해야 하는 경우에만 권한을 요청하세요. 사람들이 개인 정보 요청이나 장치 기능에 대한 접근 자체에 대해 의심스러운 것은 자연스러운 일입니다. 특히 필요한 경우가 아니라면 더욱 그렇습니다. 이상적으로는 사람들이 실제로 액세스가 필요한 앱 기능을 사용할 때까지 기다렸다가 권한을 요청합니다. 예를들어, location button (Current Location Button)을 통해 사람들이 해당 정보가 필요한 기능에 관심을 가지도록 한 후에 엑세스 권한을 요청합니다. (페이지 하단 위치버튼 단락에 자세한 설명이 나옵니다.)

데이터나 리소스가 필요한 경우가 아니면, 앱 실행을 시작할 때마다 권한을 요청하지 마세요.  명백한 이유가 있어서 권한 요청 시간을 의도한 것 이외에, 앱을 시작할 때마다 권한을 요청하면 사용에 방해받을 수 있습니다. 사람들은 탐색 앱을 사용하기 전에, 자신의 위치에 액세스해야 한다는 것을 이해하고 있기 때문입니다.

앱이 요청하는 기능, 데이터, 리소스를 사용하는 방법을 명확하게 설명하는 문구를 작성하세요. 표준 경고창의 형식은 앱 이름과 사본 목적 문자열(purpose string) 또는 사용 설명 문자열(usage description string)을 표시한 다음에 승낙하거나 거부하는 버튼을 표시합니다. 간단하고 구체적이며 이해하기 쉬운 짧고 완전한 문장을 목표로 하세요. 문장을 사용하고, 수동태를 피하고(주체적인 문장), 끝에 마침표를 포함하십시오. 

🧑🏻‍💻 developer guidance,
Requesting Access to Protected Resources
App Tracking Transparency.

다음은 시스템 경고의 기본이 되는 세 가지 예시입니다.


🍀 Location button

iOS 15, iPadOS 15 및 watchOS 8부터 Core Location은 버튼을 제공하므로, 사람들이 앱에 위치 추적 기능이 필요할 때만 자신의 위치에 액세스할 수 있는 임시 권한을 부여할 수 있습니다. 위치 단추의 모양은 앱의 UI에 따라 달라질 수 있으며 항상 즉시 인식할 수 있는 방식으로 위치 공유 작업을 전달합니다.

사람들이 앱을 처음 열고 위치 버튼을 탭하면, 시스템에서 표준 알림이 표시됩니다. 이는 사용자가 현재 위치 액세스를 제한하는 방법을 이해하고 있으며, 공유가 시작됨을 위치 표시기를 통해 상기시킵니다.

사람들이 현재 권한 상태에 대해 확인한 후, 위치 버튼을 탭하기만 하면 앱에 해당 위치에 액세스할 수 있는 일회성 권한이 부여됩니다. 각 일회성 승인은 사람들이 앱 사용을 중단하면 만료되지만 다시 설정하지 않아도 유지됩니다.

📝 Note
앱에 본인인증 상태가 없는 경우 위치 버튼을 탭하면, 표준 알림에서 ‘한번 허용’을 선택할 때와 동일한 효과가 나타납니다. 사람들이 이전에 ‘앱 사용중’을 선택한 경우, 위치 버튼을 눌러도 앱 상태가 변경되지 않습니다. 개발자 지침은 LocationButton (SwiftUI) 및 CLLocationButton(Swift)을 참조하세요.

특정 앱에 위치 버튼으로 위치를 쉽게 공유할 수 있게 하는 방법을 제공하는 것도 좋습니다. 예를 들어 앱은 사람들이 메시지나 게시물에 자신의 위치를 첨부하거나 매장을 찾거나 해당 위치에서 만난 건물, 식물 또는 동물을 식별하는 데 일상적으로 도움이 될 수 있습니다. 그래서 사람들이 앱에 ‘한 번 허용’ 권한을 자주 부여한다면, 반복적인 알림없이 위치 버튼을 간단하게 바로 사용할 수 있게 하여 위치 공유의 이점을 누릴 수 있도록 하는 것이 좋습니다.

UI와 조화를 이루도록 위치 버튼을 사용자 정의하는 것을 고려하십시오.

구체적으로 위치 버튼을 사용자 정의할 때 다음을 수행할 수 있습니다.

  • "현재 위치" 또는 "나의 현재 위치 공유"와 같이 기능에 가장 잘 맞는 시스템 제공 제목을 선택하십시오.
  • 채워지거나 윤곽이 그려진 그래픽을 선택합니다.
  • 제목과 글리프의 배경색과 색상을 선택합니다.
  • 버튼의 모서리 반경을 조정합니다.

위치 버튼의 통용적인 인식과 신뢰도를 위해 위치 버튼의 부수적인 시각적 속성을 사용자가 지정할 수 없습니다. 또한 위치 버튼의 시스템은 대비가 낮은 색상 조합이나 너무 많은 반투명도와 같은 문제를 고려하여 위치 버튼을 읽을 수 있도록 설계되었습다. 이러한 문제를 수정하는 것 외에도 텍스트가 버튼에 맞는지 확인해야 합니다. 예를 들어 버튼 속 텍스트는 모든 접근 권한 요청의 텍스트 크기 및 다른 언어로 번역될 때 잘림없이 맞아야 합니다.

❗️ Important
시스템이 사용자 지정 위치 버튼과 관련된 문제를 식별하는 경우, 사람들이 탭 하더라도 앱에 장치 위치에 대한 액세스 권한이 부여되지 않습니다. 사용자 지정 버튼은 다른 앱별 작업은 수행할 수 있지만 위치 버튼은 수행할 수 없으며, 예상대로 작동하지 않으면 사람들이 앱에 대한 신뢰를 잃을 수 있습니다.


🍀 Pre-alert screens

보통, 현재의 경고 문구는 사람들이 앱의 권한 요청 이유를 이해하는 데 도움을 받습니다. 이에 더해 추가 세부 정보를 제공해야 하는 경우에는 시스템에서 경고 문구가 표시되기 전에, 사용자 지정 화면을 표시할 수 있습니다. 다음 지침은 카메라, 마이크, 위치, 연락처, 일정 및 추적을 포함하여 보호된 데이터 및 리소스에 대한 액세스 권한을 요청하는 시스템 경고 전에 표시되는 사용자 지정 화면에 대해 적용되는 지침입니다.

버튼을 하나만 포함하고, 플로우 끝에 경고 화면이 열리도록 합니다. 사용자 지정 화면에 경고 화면과 이어지지 않는 다른 버튼이 포함되어 있으면 사용자가 선택을 하는 데 방해가 되기 때문에 인위적임을 느낄 수 있습니다. 또 다른 유형의 잘못된 예시는 "허용"과 같은 용어를 사용하여 사용자 정의 화면 버튼의 제목을 지정하는 것입니다. 허용 버튼과 화면 버튼의 의미 및 시각적 무게가 비슷해 보이는 경우, 사람들은 의식 없이 허용 버튼을 선택할 가능성이 더 높습니다. "계속" 또는 "다음"과 같은 용어를 사용하여 사용자 지정 화면의 단일 버튼에 제목을 지정하여 해당 작업이 시스템 경고를 여는 것임을 명확히 합니다.

사용자 정의 화면에 추가 작업을 포함하지 마십시오. 예를 들어 폐쇄 또는 취소(leave the screen without viewing) 옵션을 제공하는 것과 같이 사람들이 시스템 경고를 보지 않고 화면을 떠날 수 있는 방법을 제공하지 마십시오.


🍀 Tracking requests

앱 추적은 민감한 문제입니다. 어떤 경우에는 추적의 이점을 설명하는 사용자 정의 화면을 표시하는 것이 합리적일 수 있습니다. 사람들이 앱을 실행하는 즉시 앱 추적을 수행하려면, 추적 데이터를 수집하기 전에 시스템에서 제공하는 알림을 표시해야 합니다.

사람들을 혼란스럽게 하거나 오도할 수 있는 사용자 정의 화면으로 시스템 제공 경고를 시작하지 마십시오. 사람들은 때때로 알림을 읽지 않고 무시하기 위해 빠르게 탭 합니다. 이러한 행동을 이용하여 선택에 영향을 미치는 맞춤형 메시지 화면은 App Store 검토에서 거부될 수 있습니다.

거부의 원인이 되는 금지된 맞춤 화면 디자인이 몇 가지 있습니다. 몇 가지 예는 인센티브를 제공하고, 요청처럼 보이는 화면을 표시하고, 경고 이미지를 표시하고, 경고 뒤에 화면에 주석을 추가하는 것입니다(아래 참조).  App Store Review Guidelines: 5.1.1 (iv)을 참고하세요.


🍀 Protecting data

사람들의 정보를 보호하는 것이 무엇보다 중요합니다. 정보를 로컬에 저장하고, 특정 작업에 대한 권한을 부여하고, 네트워크를 통해 정보를 전송해야 할 때 시스템 제공 보안 기술을 활용하여 사람들에게 앱 보안에 대한 확신을 주고 개인 정보를 보호할 수 있습니다.

인증을 위해 암호에만 의존하지 마십시오. 지문으로 인증할 수 있는 Touch ID와 같은 다른 기술을 활용하십시오. 개발자 지침은 Local Authentication를 참고하세요.

중요한 정보를 키체인에 저장하십시오. 키체인은 누군가의 개인 정보를 다룰 때 안전하고 예측 가능한 사용자 경험을 제공합니다. 개발자 지침은 Keychain Services를 참고하세요.

암호 또는 기타 보안 콘텐츠를 일반 텍스트 파일에 저장하지 마십시오. 파일 권한을 사용하여 접근을 제한하더라도 암호화된 키체인에서는 민감한 정보가 훨씬 더 안전합니다.

사용자 지정 인증 체계를 발명하지 마십시오. Sign in with Apple 또는 Password AutoFill 과 같은 시스템 제공 기능을 선호합니다 . 지침은 Managing accounts를 참고하세요.


📱 Platform considerations

No additional considerations for iOS, iPadOS, tvOS, or watchOS.

macOS

유효한 개발자 ID로 앱에 서명합니다. 스토어 외부에 앱을 배포하기로 선택한 경우, 개발자 ID로 앱에 서명하면 귀하를 Apple 개발자로 식별하고 앱을 사용하기에 안전한지 확인합니다. 개발자 지침은 Xcode Help 을 참조하십시오 .

앱 샌드박싱으로 사람들의 데이터를 보호하세요. 샌드박싱은 맬웨어로부터 앱을 보호하면서 시스템 리소스 및 사용자 데이터에 대한 액세스를 앱에 제공합니다. Mac App Store에 제출된 모든 앱에는 샌드박싱이 필요합니다. 개발자 지침 Configuring the macOS App Sandbox을 참고하세요. (앱 샌드박싱은 파일 시스템, 네트워크 연결 등에 대한 액세스를 제한하여 손상된 앱으로부터 시스템 리소스와 사용자 데이터를 보호하는 기술입니다.)

누가 로그인했는지 추측하지 마십시오. 빠른 사용자 전환으로 인해 여러 사람이 동일한 시스템에서 활동할 수 있습니다.


📚 Resources

Developer documentation
Requesting access to protected resources
Security

📀 Videos

WWDC 2020 - Design for location privacy
WWDC21 - Meet the Location Button
WWDC21 - Apple’s privacy pillars in focus

profile
안녕하세요 글쓰는 🌱풀떼기 입니다.

0개의 댓글