View in English

  • 메뉴 열기 메뉴 닫기
  • Apple Developer
검색
검색 닫기
  • Apple Developer
  • 뉴스
  • 둘러보기
  • 디자인
  • 개발
  • 배포
  • 지원
  • 계정
페이지에서만 검색

빠른 링크

5 빠른 링크

비디오

메뉴 열기 메뉴 닫기
  • 컬렉션
  • 주제
  • 전체 비디오
  • 소개

더 많은 비디오

  • 소개
  • 요약
  • 자막 전문
  • 코드
  • 개발 과정에 개인정보 보호 통합하기

    계획 단계부터 배포에 이르기까지 앱에 개인정보 보호를 구축하는 방법을 알아보세요. 데이터 최소화, 온디바이스 처리, 투명성 및 제어에 중점을 두고 각 개발 수명 주기 단계에서 개인정보 보호를 통합하는 실용적인 방법을 소개합니다. Apple의 도구 및 프레임워크를 사용하여 사용자 데이터를 보호하고 개인정보를 존중하는 앱 경험을 만드는 방법을 알아볼 수 있습니다.

    챕터

    • 0:00 - 서론
    • 0:38 - Apple이 정의하는 개인 정보 보호
    • 3:47 - 계획
    • 7:13 - 디자인
    • 9:27 - 개발: 사용자 인터페이스
    • 12:48 - 개발: 클라이언트-서버
    • 18:20 - 개발: 로컬 리소스
    • 20:46 - 테스트
    • 22:28 - 배포

    리소스

    • AdAttributionKit
    • Configuring app groups
    • Explore the Human Interface Guidelines for privacy
    • Privacy manifest files
    • Swift Homomorphic Encryption
      • HD 비디오
      • SD 비디오

    관련 비디오

    WWDC25

    • AdAttributionKit의 새로운 기능

    WWDC24

    • 개인정보 보호 관련 새로운 내용
    • 머신 러닝 및 AI 모델을 Apple Silicon으로 가져오기
    • AdAttributionKit 소개
    • Core ML을 사용하여 머신 러닝 및 AI 모델을 온디바이스로 배포하기

    WWDC23

    • 개인정보 보호 매니페스트 시작하기
    • 앱에 사진 선택기 임베드하기

    WWDC22

    • 개인 정보 사용 수준 라벨 만들기
    • CAPTCHA를 프라이빗 액세스 토큰으로 대체하기

    WWDC21

    • 위치 버튼 소개
    • Mitigate fraud with App Attest and DeviceCheck
    • What's new in CloudKit
  • 비디오 검색…

    안녕하세요, Apple 개인정보 보호 엔지니어 Joey Tyson입니다 사람들의 데이터에 기반한 앱을 만들 때는 그 데이터가 가진 힘만큼 개발 과정에 개인정보 보호를 통합하는 것이 중요합니다 Apple에서는 개인정보 보호가 단순한 유행어가 아닙니다 누구나 자신의 정보가 존중받고 조심스럽게 처리될 권리가 있죠 이 영상에서는 앱 구축의 핵심 단계를 살펴보겠습니다 단계마다 개인정보를 보호하는 실질적인 방법도 공유하겠습니다 그 전에 '개인정보 보호'라는 말의 의미에 대해 살펴보죠 2010년 한 컨퍼런스에서 Steve Jobs는 개인정보 보호란 '사람들이 무엇에 동의하는지를 쉽게 이해하고 반복적으로 안내받는 것' 이라고 했습니다 즉 사람들이 데이터 처리 방식을 이해하고 그 과정을 믿을 수 있어야 합니다. 사람들이 기대하거나 의도하는 바와 실제 행동이 일치해야 하죠 Steve는 또한 이러한 이해를 형성하면 사람들이 자신의 데이터에 대해 스스로 올바른 선택을 할 수 있을 거라며 낙관적인 생각을 드러냈었습니다

    어떤 사람들은 다른 사람들보다 많은 데이터를 공유하길 원합니다 이러한 선택은 각자의 상황에 따라 다르며 다른 사람이 대신 추측할 일이 아닙니다 사실, 사람들이 의도한 바와 일치하려면 가장 좋은 방법은 단순히 물어보는 것입니다 개인정보 보호에 대한 정의를 어떻게 내리든 세 가지 핵심 개념은 지속적으로 나타납니다 첫째, 개인정보 보호는 사람과 기술이 어떻게 상호작용하고 기술이 사람에게 어떤 영향을 미치는가에 대한 것입니다 더 구체적으로는 사람들에 대한 데이터 처리가 미치는 영향, 즉 앱 사용자의 정보를 어떻게 처리하는지에 대한 것입니다 마지막으로, 무엇을 할 지 결정할 때 해당 정보의 맥락을 고려해야 합니다 특히 정보가 묘사하는 사람들의 기대와 선호도를 고려해야죠 개인정보 보호는 해당 맥락에 대한 존중을 보여주는 것입니다 누군가의 데이터를 맡게 될 때요 사람들에 대한 정보를 알면 흥미진진하고 개인화된 경험을 만들 수 있습니다 그러나 해당 정보가 기대하지 않은 방식이나 새로운 맥락에서 공유되면 사람들의 삶에 중요하고 실질 적인 영향을 미칠 수 있습니다 사람들이 여러분의 앱을 사용해 목표를 달성하고자 할 때는 기대하거나 선택한 방식으로 작동해야 합니다 여기엔 목표를 달성하기 위해 데이터 사용하는 방법도 포함되죠 Tim Cook은 Apple의 개인정보 보호 접근 방식을 공표했습니다 가능한 한 적은 양의 데이터를 수집하고 데이터를 다룰 땐 신중하고 존중하는 태도로 임하라는 것이죠 Tim은 무엇을 할 수 있는지 보다 사용자에게 최선의 이익을 위해 무엇을 해야 하는가를 자문해야 한다고 강조했습니다 이 관점은 데이터 최소화 온디바이스 처리 투명성 및 제어 그리고 보안 보호 기능이라는 Apple의 핵심 개인정보 보호 요소를 보여 줍니다 이제 앱 개발의 맥락에서 개인정보 보호 사고방식을 적용하여 이를 좀 더 실용적으로 설명해 보겠습니다 모든 Apple 플랫폼에는 많은 기술이 포함되어 앱에서 뛰어난 개인정보 보호 를 실현할 수 있습니다 개발 과정에 개인정보 보호를 어떻게 통합하는지에 대해서 이 영상에서 공유하는 툴을 몇 가지에 불과합니다

    소프트웨어 개발 전 과정에서 어떤 모델을 따르든 상관없이 단순화하자면 5가지 단계가 포함될 가능성이 높습니다 바로 계획, 설계, 개발 테스트 및 배포죠 이 단계들을 거쳐 각 과정에 개인정보 보호를 잘 담아낼 방법을 알려 드리겠습니다 또한 Apple 플랫폼에서 쓸 수 있는 개인정보 보호 도구와 필수 요건도 소개하겠습니다

    먼저 계획에 대해 말씀드리죠 여기서부터 앱의 개인정보 보호 이야기를 써 나갈 수 있습니다 앱에서 최상의 개인정보 보호를 제공하려면 개인 데이터를 다루는 의도와 정확히 일치해야 합니다 개인정보 보호는 개발 초기부터 포함되어야 합니다 보안이나 현지화와 마찬가지로 개인정보 보호는 나중에 다시 적용하기가 훨씬 더 어렵죠 Apple은 개인정보 보호 보장을 정의하고 계획을 시작합니다 즉, 사람들이 우리 제품에서 기대할 수 있는 개인정보 보호에 대한 개괄적인 요약문이죠

    제품 설명은 특정 엔지니어링 요구 사항을 알려줄 뿐만 아니라 개인정보 보호 목표를 구현하는 데 도움이 되고 그 목표를 사용자에게 전달하는 데도 유용합니다

    Apple에서는 앞서 언급한 핵심 개인정보 보호 요소를 개인정보 보호 보장을 위한 지침 설계 시 기준으로 삼고 있습니다 이 과정을 보여 드리기 위해 Pal About이라는 앱을 만든다고 가정해 봅시다 근처의 명소를 찾고 친구와 공유하는 앱입니다

    데이터 최소화란, 필요한 데이터만 사용하는 것입니다 사람들의 기대에 최대한 부합하도록 말이죠 이로써 효율성과 신뢰가 형성됩니다 특히, 분석을 위해 데이터를 수집할 때 해결하려는 문제나 답하려는 질문이 무엇인지 먼저 신중히 생각하고 그 목적에 맞게 데이터를 적절한 수준으로만 수집하는 게 중요합니다 제 앱의 경우 제가 보장하는 것 중 하나는 '우리는 사용 집계 데이터만 보관합니다'라는 것입니다 데이터 최소화는 강력한 기본 설정 방식이기도 하죠 사람들의 개인정보 선택에 대해 최소한 공개를 가정해 경험 설계를 시작하는 겁니다 제 앱에서는 사용자에게 '주변 장소를 검색할 때 기본적으로 현재 위치는 저장하지 않습니다.'라고 보증하죠 앞서 말했듯 개인정보 보호는 개인 정보의 맥락이 포함됩니다 온디바이스 처리가 바로 그 맥락을 존중하는 중요한 방법이죠 데이터가 경계를 넘을 때마다 한 맥락에서 다른 맥락으로 예를 들어 기기에서 서버로 앱 간에 데이터가 이동할 때 그 흐름이 꼭 필요한지와 사용자 개인정보에 미치는 영향을 잘 생각해 보세요 다시 Pal About 앱으로 돌아가 이렇게 써 보겠습니다 '모임 추천 장소는 온디바이스 데이터로만 생성되었습니다.' 강력한 기본값을 계획 후 맥락을 유지하면서 데이터가 어떻게 사용되는지 알려 줍니다 그리고 사용자가 경험을 맞춤화 할 수 있도록 옵션을 제공하고 기본 설정을 넘어 데이터를 공유할 때는 선택에 분명한 가치와 이익을 제공해야 합니다 특히, AI로 기능을 구축할 때는 AI가 사용될 때 사람들에게 알려 주고 스스로 선택할 수 있도록 권한을 주는 것입니다 모델 학습에 데이터가 사용되는지 여부 등 관련 데이터 흐름에 대한 결정을 내릴 수 있도록 말이죠 제 앱의 개인정보 보장을 위해 '사용자가 업로드한 사진은 인텔리전스 기능 개선에 동의한 경우에만 생성 모델 훈련에 사용됩니다.'로 적용해 볼 수 있습니다 마지막으로 보안 보호 기능은 데이터 흐름의 한계를 지켜 피해를 예방할 수 있습니다 가능한 경우에는 개인정보 보호가 기술적 제어로 뒷받침되어야 하죠. 즉 개인정보 보호를 기본적으로 유지하는 시스템이 필요합니다 다른 부분이 예상대로 작동하지 않는 경우가 있더라도요 제 예시 앱에서는 '기기 사이를 오가는 친구와의 메시지는 저희와 공유되지 않습니다.'라고 할 수 있으며 그 약속을 지키기 위해 종단 간 암호화 기술을 사용하죠 이제 사용자가 실제로 제품과 상호 작용하는 방식을 구성하는 디자인에 집중해 봅시다 훌륭한 디자인은 앱을 사용하는 사람들과 소통하고 사람들을 교육하면서도 부담스럽지 않게 만듭니다 사람들이 앱의 데이터 사용 방식을 신뢰하면 더 적극적으로 참여하고 데이터를 공유할 가능성이 높아집니다 이제 신뢰를 구축하기 위한 몇 가지 일반적인 디자인 원칙을 공유하겠습니다 첫째, 기대치를 미리 설정합니다 앱이 어떤 데이터를 수집하고 어떻게 사용하는지에 대해 알지 못해 사람들이 당황해선 안 되죠 예를 들어, Apple 앱에서는 처음 실행할 때 핵심 개인정보 내용을 간단히 보여주고 더 자세한 정보에 대한 링크도 함께 제공됩니다 앱에서도 온보딩 흐름을 사용할 수 있습니다 데이터를 어떻게 사용하는지 이해를 돕기 위해서죠

    사람들을 사전 교육하는 것 외에 상태 변화를 명확히 알립니다 이렇게 하면 사람들이 개인 정보에 영향을 주거나 행동을 바꿀 수 있는 요소들을 즉시 이해할 수 있게 됩니다 예를 들어 iOS에서는 Siri가 실행될 때 애니메이션과 함께 화면 상단에 마이크가 사용 중임을 알려 주는 시스템 표시도 보여 줍니다

    마지막으로, 데이터 선택은 의미 있고 상황에 맞아야 합니다 각 옵션은 앱 동작에 실질적인 차이를 만들거나 영향에 대한 명확한 설명을 포함해야 합니다 이런 선택지는 가장 적절한 순간에 등장하도록 해야 합니다 또한 사용자에게 알맞은 정보의 구체화 수준을 연구해야 합니다 예를 들어, macOS의 Pal About이 스트리밍 미디어 장치와 연결하는 기능을 포함한다면 누군가가 해당 기능을 사용하기로 결정할 때까지 저는 어떤 로컬 네트워크 연결도 시도하지 않을 것입니다 누군가가 그 기능에 접근하기로 결정할 때까지 말입니다 이는 해당 연결이 왜 필요한지 명확하게 보여 주며 시스템에서 연결 활성화 메시지 표시의 이유를 명확히 알려 주죠

    개인정보 보호를 고려한 설계에 대해 더 알고싶다면 Apple 개발자 문서의 '휴먼 인터 페이스 가이드라인'을 참고하세요 개인정보 보호 계획과 설계가 끝나면 코드 작성 차례입니다 여러 도구와 기술을 통해 개인정보 보호 목표를 구현할 수 있습니다 이 섹션에서는 앱을 만들 때 이런 도구들을 어떻게 활용할 수 있는지 몇 가지 예를 보여드리죠

    앱 사용자 인터페이스에서 개인정보 선택을 더 간편하게 만드는 것부터 시작합니다 캘린더나 현재 위치와 같은 기기 리소스에 액세스하는 것은 다양한 맥락에서 민감한 데이터를 공유하는 것을 의미하죠 따라서 Apple의 플랫폼은 사용자의 의도에 맞을 때만 데이터를 공유하도록 설계되었습니다 광범위한 접근은 개인정보 보호에 가장 큰 영향을 미칩니다 그래서 요청할 때는 보통 사진 보관함 접근 허용 창 같은 명확한 권한 허용 알림이 뜹니다 누군가가 단지 몇 장의 사진만 공유하고 싶어할 때 전체 보관함에 대한 접근을 허용하게 되면 의도한 것보다 훨씬 더 많은 정보가 공개될 수 있습니다 그것이 바로 '액세스 제한'을 통해 사용자가 특정 사진만을 선택할 수 있도록 하는 이유입니다 하지만 필요한 데이터만 요청하는 도구를 사용하면 더 매끄러운 경험을 만들 수 있습니다 사람들은 이러한 흐름을 통해 무엇을 공유할지 선택하기 때문에 사람들의 상호 작용이 암묵적으로 의도를 나타내어 추가 메시지가 표시되지 않습니다 제 예시 앱에서 사람들이 사진을 업로드하도록 할 수 있지만 그렇다고 전체 사진 보관함에 접근할 필요는 없습니다 그 대신 PhotosPicker를 사용해 사진 보관함 권한 요청을 완전히 피할 수 있습니다 시스템이 선택기를 프로세스 외부로 렌더링하기 때문에 앱은 실제로 사람이 선택한 사진만 받습니다 그리고 권한 요청 메시지가 표시되지 않습니다 앱의 UI 내에 선택기를 내장할 수 있습니다 모양도 맞춤화할 수 있죠 심지어 사용자는 숨겨진 사진 중에서 선택할 수도 있습니다 선택기의 버전들은 macOS 및 visionOS 등의 다른 플랫폼에서도 사용할 수 있습니다 자세한 내용은 WWDC23의 '앱에 사진 선택기 임베드하기' 영상을 시청해 보세요 Apple은 데이터 접근을 간소화하는 보안 UI도 제공합니다 내 앱으로 돌아가서 사람들이 근처 장소를 쉽게 검색하길 원한다고 가정해 보죠 위치 버튼 추가 시 탭 한번으로 현재 위치를 공유할 수 있습니다 버튼이 실제로 사용자 상호작용으로 눌렸는지 시스템이 확인해 주고 위치 공유가 사용자의 의도가 맞는지 돕죠 이 버튼의 스타일을 앱 UI에 맞게 자유롭게 맞춤화할 수 있습니다

    사용자가 앱에서 위치 버튼을 처음 누르면 해당 기능 설명과 함께 의도를 확인하는 권한 요청 창 그리고 버튼의 기능에 대한 설명이 표시됩니다 위치 표시기는 화면 상단에 표시됩니다 다른 API를 통해 위치를 공유할 때처럼 말이죠 그러나 '확인'을 선택한 후에는 탭에서 프롬프트가 표시되지 않고 현재 위치가 바로 공유될 겁니다 자세한 내용은 WWDC21의 '위치 버튼 소개' 영상을 시청해 보세요

    이건 개인정보 보호 UI의 인지적 부하를 줄이는 두 가지 예시에 불과합니다 기타 내용은 연락처를 위한 프로세스 외부 선택기 UIPasteControl 버튼 하드웨어 액세서리 설정을 위한 간소화된 절차 등이 있습니다 필요한 기기 데이터에만 접근할 수 있는 옵션을 확인한 후 더 광범위한 API를 사용해 보세요 물론 어떤 경우에는 여전히 허가 요청이 필요할 수 있습니다 사용자에게 의미 있고 맥락에 맞게 하기 위해 사용자가 예상할 수 있는 타이밍에 트리거되는 작업을 수행하세요 앱을 처음 열었을 때 바로 목적 문자열을 보여 주는 것은 피하고 프롬프트가 뜨는 이유를 설명하는 문구를 작성해 주세요 이제는 백그라운드에서 작동하는 개인정보 보호 기술 중 클라이언트 서버 상호작용 기술을 소개하겠습니다 특히, 서버에 민감한 정보를 노출하지 않고 서버 리소스를 활용하는 몇 가지 방법과 서버에 일반적인 데이터 수집 상황에서 식별 가능한 데이터 사용을 줄이는 방법도 함께 소개하겠습니다 Apple 플랫폼에서 고급 데이터 보호는 사용자가 iCloud 저장된 대부분의 데이터에 대해 종단 간 암호화를 활성화할 수 있는 기능입니다 CloudKit를 채택하면 고급 데이터 보호가 켜졌을 때 앱에서 CloudKit에 저장하는 데이터도 종단 간 암호화가 자동으로 적용되도록 설정 가능하죠 이 기능은 인프라를 바꾸거나 암호화 키를 따로 관리하지 않아도 사용할 수 있습니다 먼저 CloudKit 스키마에서 모든 필드에 대해 암호화된 데이터 유형을 사용하시기 바랍니다 CKAsset 필드가 기본적으로 포함되며 CloudKit의 대부분 데이터 유형에는 EncryptedString 등 암호화된 변형이 있습니다

    그런 다음 encryptedValues API를 사용해 레코드에서 CloudKit 기록에 대한 데이터를 검색하거나 저장할 수 있습니다 모든 암호화 및 복호화 작업이 API를 통해 추상화됩니다 CloudKit은 암호화된 필드에 대한 인덱스를 지원하지 않으니 CKQuery와 CKQueryOperation으로 레코드를 가져올 때 조건식이나 정렬 설명자에 넣지 마세요 WWDC21의 'CloudKit의 새로운 기능'에서 더 자세히 알아보세요 Apple에서 사용하는 동형 암호화라고 하는 또 다른 암호화 기술이 있습니다 이 방식은 원시 데이터를 계산하는 대신 암호화된 데이터에 대해 연산을 수행할 수 있게 하고 결과 복호화 시 동일한 결과를 얻죠 연산이 진행되는 동안 데이터는 한 번도 복호화되지 않습니다 동형 암호화는 덧셈과 같은 간단한 연산을 결합하여 개인 정보 검색과 같은 고급 기술을 구현할 수 있습니다 PIR을 사용하면 서버에서 데이터를 조회할 수 있지만 쿼리나 결과는 복호화된 상태로 서버에 전달되지 않습니다 PIR을 사용하면 기기는 암호화된 쿼리를 서버에 전송하고 서버는 동형 암호화를 이용해 암호화된 결과를 계산합니다 계산 자체가 암호화되어 있어 쿼리와 일치하는 결과는 요청 수명 주기 동안 서버에 평문으로 절대 노출되지 않음을 기억하시기 바랍니다 마지막으로 서버는 암호화된 결과를 기기로 다시 보내고 기기는 이를 로컬에서 복호화하고 처리합니다 제 Pal About 앱에서 서버가 누군가의 검색 기록을 추적하지 않고도 PIR을 사용하여 서버로부터 모임 장소에 대한 최신 정보를 얻을 수 있습니다 일부 사용자는 앱에서 탐색한 장소가 노출되면 안전이 위협받을 수 있어 앱에서 PIR을 사용할지 여부는 엔지니어링적으로 중요한 개인정보 보호 결정이 됩니다 PIR은 이미 Apple 플랫폼에서 사용되고 있으며 여러분과 같은 개발자가 구현한 인기 앱에서도 사용 중입니다 PIR 구현에 대한 자세한 내용은 GitHub에서 'Swift 동형 암호화 라이브러리와 애플리케이션'을 참고하세요 언뜻 식별 가능한 데이터 수집이 필요한 것처럼 보이는 두 가지 일반적인 시나리오는 사기 감소와 광고 어트리뷰션이죠 사용자 ID나 IP 주소를 사용해 데이터 수집의 필요성을 줄이면서 이러한 영역에서 목표를 달성할 수 있도록 Apple이 구축한 몇 가지 기능을 공유하겠습니다 사기 방지의 경우 Private Access Token은 정당한 기기에서 요청했음을 확인합니다 사람들의 사용을 식별하지 않은 채로요 기기는 검증 후 익명의 토큰을 받고 여러분은 토큰을 검증할 수 있죠 추가 신원 정보 없이 말이죠 자세한 내용은 WWDC22의 'CAPTCHA를 Private Access Token으로 대체하기'를 시청해 주세요 또 앱에 대한 사기 행위를 방지해야 할 수도 있습니다 프로모션을 여러 번 사용하려는 시도 등을 막아야 하죠 DeviceCheck는 기기와 연동하여 최대 2비트 정보만 저장할 수 있는 API입니다 기기 식별자를 추적할 필요가 없죠 이 상태는 Apple에서 유지관리되며 재설치 또는 기기 이동 시에도 지속됩니다 설정 및 검색 방법에 대한 자세한 내용은 WWDC21의 'App Attest와 DeviceCheck로 사기 방지 지원하기' 영상을 시청해 주세요 AdAttributionKit는 광고 성과를 측정하며 개인정보를 지키는 강력한 도구입니다 앱 설치와 재참여를 특정 캠페인에 연결할 수 있게 하죠 사용자의 기기에서 서명된 포스트백 신호를 통해서요 AdAttributionKit은 메세지를 줄이는 데도 도움이 될 수 있죠 AdAttributionKit API 호출은 앱 추적 투명성을 표시할 필요가 없습니다 게시자 앱의 경우 주요 구현 단계는 다음과 같이 등록된 광고 네트워크에서 Info.plist에 식별자를 추가한 후 해당 네트워크가 서명한 광고를 표시합니다 AdAttributionKit와 포스트백 신호 작동법은 WWDC24의 "AdAttributionKit 소개" 영상을 시청해 주세요 광고된 앱의 경우 앱 내에서 전환 이벤트와 관련된 재참여 이벤트를 등록해야 합니다 또한, 포스트백 신호의 사본을 위한 엔드포인트를 지정할 수 있죠 업데이트에 관련된 모든 API는 Apple 개발자 문서의 AdAttributionKit 섹션과 'AdAttributionKit의 새로운 기능' 영상을 시청해 주세요 iOS 26 새 기능을 자세히 볼 수 있습니다 마지막으로 온디바이스 AI 모델 번들 프레임워크 앱 프로세스 등의 로컬 리소스 관리 시 개인정보 보호를 유지하는 방법에 대해 몇 가지 팁을 드리겠습니다

    먼저, 머신 러닝 모델을 온디바이스로 훈련하거나 미세 조정하기 위한 Core ML의 강력한 기능을 강조하겠습니다 이것은 다양한 오픈 소스 모델과 Create ML로 사용자 지정 빌드 모델에 적용됩니다 최적화 및 압축 기술을 사용하여 인기 있는 대규모 언어 모델도 실행할 수 있습니다 서버를 통하지 않고 말이죠 Core ML로 시작하려면 WWDC24의 'Core ML을 사용하여 머신 러닝 및 AI 모델을 온디바이스로 배포하기' 혹은 '머신 러닝 및 AI 모델을 Apple Silicon 으로 가져오기'를 시청하세요 앱 그룹 컨테이너는 여러 앱 간 데이터 공유를 가능케 하고 구축한 다양한 앱 사이에서도 데이터를 보호할 수 있죠 macOS에서 사용자 허가 없이 앱 그룹 컨테이너의 데이터에 접근할 수 없습니다 이러한 컨테이너를 사용하려면 먼저 개발자 포털의 '인증서 식별자 및 프로파일'에서 앱 그룹 식별자를 등록해야 합니다 그 다음엔 앱에서 해당 권한을 적용하고 사용자 데이터를 저장할 때마다 컨테이너 디렉토리를 요청하도록 설정해야 합니다

    자세한 정보는 WWDC24의 '개인정보 보호 관련 새로운 내용' 영상 시청 또는 Apple 개발자 문서 에서 '앱 그룹 구성'을 참고하세요 macOS에서는 또한 사용자가 앱을 종료하기로 결정 시 모든 앱 프로세스가 종료되어야 합니다 fork, exec 또는 POSIX 스폰을 사용해 프로세스를 로딩하면 종료 시 그 프로세스를 정리하세요 macOS Tahoe는 프로세스가 계속 실행되는지 휴리스틱하게 감지하고 의도와 일치하는지 확인하라는 메시지를 표시합니다 그러면 사용자는 프로세스 자체를 종료하는 옵션을 갖게 됩니다 마지막으로 앱에 포함된 모든 코드에 대한 책임은 여러분께 있음을 기억해 주세요 타사 SDK도 마찬가지입니다 App Store 제출 전 SDK는 수집 데이터와 사용하는 API의 필수 이유가 담긴 개인정보 보호 매니페스트 파일을 요구할 수 있습니다. Apple 개발자 문서에서 '개인정보 보호 매니페스트 파일'을 참고하면 요구 사항 적용 시기를 알 수 있죠 WWDC23의 '개인정보 보호 매니페스트 시작하기' 영상으로 더 자세히 알아볼 수도 있습니다 이러한 기술은 개인정보 보호가 개발 과정 전반에 어떻게 통합될 수 있는지 보여 주는 예시입니다 지금은 다음 단계로 넘어 가죠 바로 테스트입니다 그리고 물론, 개인정보 보호는 이 단계의 일부입니다 오류를 방지하거나 성능 저하를 감지하기 위해 테스트를 구축하려는 것처럼 앱이 개인정보 보호를 이행하는지 확인하는 테스트를 구축하는 것은 따라야 할 중요한 모범 사례입니다 Apple에서는 테스트를 피라미드 모델로 봅니다 작은 테스트들이 기반이 되고 실제 사용자의 목표에 가까운 폭넓은 테스트들이 그 위에 쌓이게 되죠 단위 테스트는 코드의 개별 부분 보통 하나의 함수 단위를 검증하는 데 도움을 줍니다 개인정보 보호를 위해 개인정보 보호 제어를 지원하는 앱 로직을 검증할 수 있습니다 통합 테스트는 하위 시스템이나 클래스 클러스터처럼 구성요소 간 상호작용을 검증하는 데 사용됩니다 이는 개인정보 보호 맥락에서 이런 테스트를 통해 시스템 간 데이터 흐름이 예상대로 작동하는지 확인합니다 마지막으로 UI 테스트는 앱의 사용자 대면 동작을 관찰하여 앱이 실제로 기대한 대로 작동하는지 확인합니다 여기에는 온보딩 또는 개인정보 설정 변경과 같은 일반적인 시나리오가 포함되죠 제 Pal About 앱에서는 사람들이 인텔리전스 기능을 개선하기 위해 동의한 경우에만 사진을 사용해 훈련한다는 개인정보 보호 보장이 있습니다 따라서 옵트인 설정 변경이 관련 데이터 흐름을 항상 업데이트하는지 확인하기 위해 UI 테스트를 작성합니다 Apple은 개인정보 보호 기능의 효율적인 테스트를 위해 다양한 도구를 제공합니다 예를 들어 iOS 15.2부터 설정에서 앱 개인 정보 보호 리포트를 활성화할 수 있죠 앱 데이터 액세스, 센서 액세스 네트워크 활동을 빠르게 검토하여 앱을 사용하는 사람들이 기대하는 바와 일치하는지 확인하는 데 사용하기 위해서 말이죠 마지막으로 앱을 실제로 세상에 배포하는 과정인 배포에 대해 다루어 보겠습니다 이 시점에서 여러분은 구축한 기능에서 훌륭한 개인정보 보호를 제공하기 위해 많은 노력을 기울였으며, 이제 여러분의 개인정보 보호 이야기를 공유할 시간입니다 앱을 홍보할 콘텐츠를 만들 때 개인정보 보호 보장은 관심을 끌고 앱을 차별화하는 중요한 자원이 됩니다

    App Store에 배포할 때 사용자가 앱에서 무엇을 기대할 수 있는지 보여주는 필수 절차가 포함됩니다 특히, 개인정보 취급 개요표는 사용자들이 개인정보 처리 방침을 이해하도록 돕는 App Store의 핵심 수단입니다 개요표는 앱이 기기 밖으로 어떤 종류의 데이터를 전송하는지 그 데이터가 어떻게 사용되는지 간결하게 알려 줍니다 App Store Connect의 App Privacy 섹션에서 앱의 개인정보 취급 개요표를 설정하세요 Apple 개발자 문서에서 'App Store의 앱 개인정보 세부 사항' 섹션을 검토해 보세요. 데이터 유형과 '추적' 같은 용어의 정확한 정의가 있습니다

    Xcode에서 빌드를 보관할 때 아카이브의 컨텍스트 메뉴에서 '개인정보 보호 리포트 생성'을 선택하여 개인정보 보호 매니페스트 파일에서 데이터 사용 내역 집계 보고서를 얻을 수 있습니다 사람들이 데이터 수집을 선택할 수 있더라도 개인정보 취급 개요표에는 모든 데이터 사용 가능성을 문서화해야 합니다 일부 피드백 및 보고 흐름과 같은 특정 예외 사항은 Apple 개발자 문서를 참고하세요 개발자는 앱 업데이트 없이도 언제든지 개인정보 취급 개요표를 수정할 수 있습니다 자세한 내용은 WWDC22 '개인정보 취급 개요표 만들기'를 확인하시기 바랍니다

    개인정보 취급 개요표 외 배포를 위한 다른 개인정보 보호 요구사항을 충족하는지 확인하세요 앱에는 명확한 개인정보 처리방침이 있어야 합니다 앱과 모든 타사 SDK의 개인정보 보호 매니페스트는 Xcode에 반드시 포함되어야 합니다 기기 리소스에 접근하기 위한 모든 권한 메세지에는 목적 문자열이 필요합니다 App Store 등록 정보에 개인정보 선택 링크를 넣어 사용자가 데이터 관리 방법을 더 쉽게 알 수 있도록 합니다 데이터 접근, 삭제 혹은 업데이트를 위한 포털처럼 말이죠 계획, 설계, 개발 테스트 및 배포 개발 모든 단계에서 개인정보 보호를 통합하면 앱를 사용하는 사람들에게 최고의 경험을 제공할 수 있죠 이제 아이디어를 여러분의 단계에 적용할 때입니다 앱에 명확한 개인정보 보호 보장을 정의하는 것부터 시작해 보세요. 그리고 디자인 원칙을 사용하여 사람들에게 데이터 사용과 선택에 대해 교육해 보세요 강력한 기술적 기반을 바탕으로 개인정보 보호 목표를 구현하고 테스트를 통해 개인정보 보호가 확실히 보장되도록 하며 마지막으로, 개인정보 보호 이야기를 전 세계와 공유하며 개인정보 취급 개요표를 준비하세요 이 영상에서 데이터 최소화에 대해 여러 번 언급했지만 개인정보 보호에 힘써 주시는 여러분에게 감사하는 마음은 결코 최소화할 수 없을 것입니다 감사합니다

    • 10:29 - Create an inline Photos picker

      // Create an inline Photos picker
                      
      // Define the app's Photos picker
      PhotosPicker(
          selection: $viewModel.selection,
          matching: .images,
          preferredItemEncoding: .current,
          photoLibrary: .shared()
      ) {
          Text("Select Photos")
      }
                      
      // Configure a half-height Photos picker
      .photosPickerStyle(.inline)
      .ignoresSafeArea()
      .frame(height: 340)
    • 11:33 - Display the Location Button

      // Display the Location Button
      
      LocationButton(LocationButton.Title.currentLocation) {
          // Start updating location when user taps the button.
          // Location button doesn't require the additional
          // step of calling 'requestWhenInUseAuthorization()'.
          manager.startUpdatingLocation()
      }.foregroundColor(Color.white)
          .cornerRadius(27)
          .frame(width: 210, height: 54)
          .padding(.bottom, 30)
    • 13:48 - Encrypting data in CloudKit

      myRecord.encryptedValues["encryptedStringField"] = "Sensitive value"
      
      let decryptedString = myRecord.encryptedValues["encryptedStringField"] as? String
    • 0:00 - 서론
    • 앱 개발에서 데이터 개인정보 보호의 중요성과 개인정보 보호를 전체 앱 개발 프로세스에 통합하는 방법에 대해 알아보세요. 이 영상에서는 앱 개발의 모든 단계에서 개인정보 보호를 강화하는 실용적인 방법을 공유합니다.

    • 0:38 - Apple이 정의하는 개인 정보 보호
    • Apple은 개인정보 보호를 사용자 데이터가 처리되는 방식에 대한 명확하고 반복적인 커뮤니케이션으로 간주하여 사람들이 자신의 기대치 및 선호도에 따라 정보에 입각한 선택을 할 수 있도록 합니다. Apple은 사람들의 데이터를 맡게 될 때 맥락이 매우 중요해 맥락을 존중합니다. Apple 개인정보 보호 요소에는 데이터 최소화, 온디바이스 처리, 투명성 및 제어, 보안 보호 등이 포함되어 있습니다.

    • 3:47 - 계획
    • 효과적인 앱 개인정보 보호는 포괄적인 계획에서 시작됩니다. 나중에 구현하기가 더 어렵기 때문에 개발 프로세스에 개인정보 보호 기능을 처음부터 통합하는 것은 필수적입니다. Apple은 계획 단계에서 사용자가 자신의 개인 데이터와 관련하여 기대할 수 있는 바를 설명하는 높은 수준의 진술인 개인정보 보호 보장을 정의합니다. 이러한 보장은 필요한 데이터만 사용하고 개인정보 보호를 존중하는 강력한 기본 원칙을 구현하는 데이터 최소화와 같은 원칙에 따라 이루어집니다. 앱은 데이터가 사용되는 방법을 명확하게 커뮤니케이션하고, 사용자 정의 옵션을 제공하며, 기본값을 넘어서는 모든 데이터 공유가 명확한 가치를 제공하는지 확인해야 합니다. 종단 간 암호화와 같은 보안 보호는 개인정보 보호 목표를 지원하고 피해를 방지하기 위해 데이터 흐름에 제한을 두는 데 필수적입니다.

    • 7:13 - 디자인
    • 효과적인 앱 디자인에는 데이터 수집 및 사용에 대한 명확한 커뮤니케이션과 교육이 필요합니다. 이렇게 하면 신뢰가 쌓입니다. 주요 설계 원칙은 다음과 같습니다. - 온보딩 흐름 및 개인정보 요약을 통해 사전에 기대치 설정하기 - 상태 변경 사항을 명확하고 눈에 띄게 만들기 - 현재 작업과 관련된 의미 있고 상황에 맞는 데이터 선택 제공하기 이러한 원칙을 적용하여 사용자의 개인정보를 존중하는 직관적이고 사용자 친화적인 앱을 만드세요.

    • 9:27 - 개발: 사용자 인터페이스
    • Apple 플랫폼은 필요한 것만으로 데이터 공유를 제한하여 개인정보 보호를 우선시합니다. Apple에서 제공하는 개인정보 보호 API를 사용하여 앱에서 이를 달성하세요. 예를 들어, PhotosPicker를 사용하면 사진 라이브러리에 대한 전체 액세스 권한이 없이도 특정 사진을 선택할 수 있고 위치 버튼을 사용하면 한 번의 탭으로 위치를 공유할 수 있습니다. 이러한 툴은 암묵적으로 허가를 의미하고 경험을 간소화합니다.

    • 12:48 - 개발: 클라이언트-서버
    • Apple은 개발자가 앱에서 개인정보 보호를 강화할 수 있도록 여러 툴 및 기술을 제공합니다. - CloudKit은 고급 데이터 보호가 활성화된 경우 iCloud에 저장된 앱 데이터에 대한 종단 간 암호화 활성화 - 동형 암호화는 암호화된 데이터에 대한 계산 허용 - 합법적인 기기 요청을 보장하는 데 도움이 되는 개인 액세스 토큰 - 사기 행위를 방지하는 데 도움이 되는 DeviceCheck - App Tracking Transparency 프롬프트를 표시하지 않고도 광고 캠페인 성공 여부를 측정할 수 있는 AdAttributionKit

    • 18:20 - 개발: 로컬 리소스
    • Core ML을 사용하면 머신 러닝 모델을 온디바이스에서 직접 효율적으로 실행하고 학습할 수 있습니다. 앱 간의 데이터 공유를 안전하게 촉진하기 위해 앱 그룹 컨테이너를 사용하세요. 앱이 종료되면 앱 프로세스도 종료되도록 보장하여 사용자 프롬프트가 표시되지 않도록 합니다.

    • 20:46 - 테스트
    • 앱이 개인정보 보호 보장을 제공하는지 확인하려면 테스트가 필수적입니다. Apple은 단위, 통합, UI 테스트의 피라미드 모델을 사용하여 개인정보 보호 제어, 데이터 흐름, 고객 대면 행동을 검증합니다. 앱 개인정보 보호 보고서를 사용하면 고객 기대치에 부합하는지 확인하기 위해 데이터 접근 및 네트워크 활동을 검토하는 데 도움이 됩니다.

    • 22:28 - 배포
    • 배포에는 앱의 개인정보 보호 스토리를 공유하고 App Store 요구 사항을 충족하는 것이 포함됩니다. App Store Connect에 구성된 개인정보 취급 개요표는 전송되는 데이터 유형과 그 사용에 대한 간결한 정보를 제공합니다. 기타 중요한 요구 사항으로는 명확한 개인정보 보호정책, 개인정보 보호 매니페스트, 권한 요청에 대한 목적 문자열, 사용자가 데이터를 관리하는 데 도움이 되는 선택적인 개인정보 보호 선택 링크가 있습니다.

Developer Footer

  • 비디오
  • WWDC25
  • 개발 과정에 개인정보 보호 통합하기
  • 메뉴 열기 메뉴 닫기
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    메뉴 열기 메뉴 닫기
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    메뉴 열기 메뉴 닫기
    • 손쉬운 사용
    • 액세서리
    • 앱 확장 프로그램
    • App Store
    • 오디오 및 비디오(영문)
    • 증강 현실
    • 디자인
    • 배포
    • 교육
    • 서체(영문)
    • 게임
    • 건강 및 피트니스
    • 앱 내 구입
    • 현지화
    • 지도 및 위치
    • 머신 러닝 및 AI
    • 오픈 소스(영문)
    • 보안
    • Safari 및 웹(영문)
    메뉴 열기 메뉴 닫기
    • 문서(영문)
    • 튜토리얼
    • 다운로드(영문)
    • 포럼(영문)
    • 비디오
    메뉴 열기 메뉴 닫기
    • 지원 문서
    • 문의하기
    • 버그 보고
    • 시스템 상태(영문)
    메뉴 열기 메뉴 닫기
    • Apple Developer
    • App Store Connect
    • 인증서, 식별자 및 프로파일(영문)
    • 피드백 지원
    메뉴 열기 메뉴 닫기
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(영문)
    • News Partner Program(영문)
    • Video Partner Program(영문)
    • Security Bounty Program(영문)
    • Security Research Device Program(영문)
    메뉴 열기 메뉴 닫기
    • Apple과의 만남
    • Apple Developer Center
    • App Store 어워드(영문)
    • Apple 디자인 어워드
    • Apple Developer Academy(영문)
    • WWDC
    Apple Developer 앱 받기
    Copyright © 2025 Apple Inc. 모든 권리 보유.
    약관 개인정보 처리방침 계약 및 지침