Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Appleにおけるプライバシーの全容を把握する
Search
akatsuki174
September 01, 2023
Technology
0
6k
Appleにおけるプライバシーの全容を把握する
2023/09/01(金) iOSDC Japan 2023 day0
akatsuki174
September 01, 2023
Tweet
Share
More Decks by akatsuki174
See All by akatsuki174
逆向きUIの世界 〜iOSアプリのRTL言語対応〜
akatsuki174
1
370
逆向きUIの世界〜AndroidアプリのRTL言語対応〜
akatsuki174
1
750
私が変えてきたこと、変えなかったこと
akatsuki174
2
960
最近読んでいる本-読書シェア会vol.1
akatsuki174
2
240
SwiftUI、UIKitでキャプチャを撮ろう!
akatsuki174
1
120
近年のAppleにおける位置情報とプライバシー
akatsuki174
3
490
オフライン勉強会ぼっち対策
akatsuki174
1
690
Xcode 15の新機能
akatsuki174
0
2.9k
AndroidにもSelect Photosがやってきた
akatsuki174
0
1.4k
Other Decks in Technology
See All in Technology
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
700
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
1
1.7k
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
130
I tried making a solo advent calendar!
zzzzico
0
150
AWS re:Inventre:cap ~AmazonNova 2 Omniのワークショップを体験してきた~
nrinetcom
PRO
0
140
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
21k
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
490
製造業から学んだ「本質を守り現場に合わせるアジャイル実践」
kamitokusari
0
570
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
次世代AIコーディング:OpenAI Codex の最新動向 進行スライド/nikkei-tech-talk-40
nikkei_engineer_recruiting
0
130
Everything As Code
yosuke_ai
0
510
あの夜、私たちは「人間」に戻った。 ── 災害ユートピア、贈与、そしてアジャイルの再構築 / 20260108 Hiromitsu Akiba
shift_evolve
PRO
0
560
Featured
See All Featured
How GitHub (no longer) Works
holman
316
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Code Review Best Practice
trishagee
74
19k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Amusing Abliteration
ianozsvald
0
85
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
210
Context Engineering - Making Every Token Count
addyosmani
9
590
Designing for humans not robots
tammielis
254
26k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
96
Building Applications with DynamoDB
mza
96
6.9k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Transcript
Appleʹ͓͚Δ ϓϥΠόγʔͷ શ༰ΛѲ͢Δ iOSDC Japan 2023 day0 @akatsuki174
ࣗݾհ
• ˏakatsuki174 • גࣜձࣾΏΊΈॴଐ • Android/iOS/FlutterΤϯδχΞ • 1ࣇͷ • 9݄Լ०ʹୈೋࢠग़࢈༧ఆͷɹɹ
ͨΊɺࣄલऩʹͯࢀՃ
ࠓͷ
None
͓ॻ͖ • ϓϥΠόγʔશମͷ • ϓϥΠόγʔํɺతจࣈྻɺ৹ࠪΨΠυϥΠϯɺɹ Human Interface Guidelines etc… •
ݸʑͷݖݶͷ • ҐஔใɺτϥοΩϯάɺࣸਅ/ಈըɺ࿈བྷઌ etc…
None
• ൣғΛiOSͷຊମʹߜͬͯ·͢ • watchOSͳͲͷଞͷϓϥοτϑΥʔϜɺApp Clips, Widgetɹ ͳͲର֎Ͱ͢ • ࣌ؒͷ্ؔ…͢·Μ… •
۩ମతͳ࣮ํ๏ΘΓͱ͞Βͬͱྲྀ͠·͢ ҙॻ͖
Apple͕ߟ͑Δ ϓϥΠόγʔͱ
• ϓϥΠόγʔجຊతͳਓݖ • Ϣʔβ͔Βͷ৴པΛҡ࣋͢Δ্Ͱॏཁ ϓϥΠόγʔʹର͢Δߟ͑ IUUQTXXXBQQMFDPNKQQSJWBDZ
• ຖϓϥΠόγʔɺηΩϡϦςΟʹؔ͢Δಈը͕ग़͍ͯΔ • WWDC23 5ຊ • WWDC22 13ຊ • WWDC21
18ຊ • WWDC20 14ຊ etc… ϓϥΠόγʔͱWWDC IUUQTEFWFMPQFSBQQMFDPNWJEFPTQSJWBDZTFDVSJUZ
• σʔλͷ࠷খԽ • ΦϯσόΠεॲཧ • ಁ໌ੑͱཧ • ػີอ࣋ ϓϥΠόγʔอޢ4ݪଇ
• ඞཁͳ࣌ʹɺඞཁͳ͚ͩσʔλΛऔಘ͢Δ • ྫɿ • ҐஔใΛʮҰ͚ͩڐՄʯ • ҐஔใͷػೳΛར༻͢Δ·ͰɺϢʔβʹڐΛٻΊͳ͍ σʔλͷ࠷খԽ
• ػີσʔλΛͰ͖Δ͚ͩϩʔΧϧͰॲཧ͢Δ • ΦϑϥΠϯͰ͑Δɺ௨৴͕ͳ͍ߴͳͲͷϝϦοτ͋Δ • ྫɿ • SiriͷԻೝࣝϞσϧ • Create
MLʹΑΔػցֶश ΦϯσόΠεॲཧ
• σʔλͷ༻ํ๏ڞ༗ઌΛ໌֬ʹ͢Δ • ࣗͷҙࢥͰσʔλΛཧ͢Δ • ྫɿ • Sign in with
Apple • AppϓϥΠόγʔϨϙʔτʢޙड़ʣ • ϓϥΠόγʔϥϕϧʢޙड़ʣ ಁ໌ੑͱཧ
• ҆શʹอɺཧ͢Δ • ྫɿ • ੜମೝূ ػີอ࣋ʢηΩϡϦςΟʣ
• ࣍ͷΑ͏ͳใʹΞΫηε͍ͨ͠ͱ͖ɺγεςϜΞϥʔτΛɹ ग़ͯ͠ڐՄΛಘΔඞཁ͕͋Δ • ҐஔใɺϔϧεέΞɺͦͷଞݸਓΛಛఆͰ͖Δใ • ΧϝϥϚΠΫͳͲͷσόΠεͷػೳ • BluetoothσόΠεͳͲͷอޢ͞ΕͨϦιʔε •
σόΠεͷࠂࣝผࢠ ඞཁͳͱ͖ʹڐՄΛಘΔ
ৄ͘͠…
ৄ͘͠…
purpose strings ʢతจࣈྻʣͷॻ͖ํ
• ڐՄͷϦΫΤετΛ͢ΔγεςϜΞϥʔτʹදࣔ͞ΕΔจࣈྻ • Info.plistͰઃఆ͢Δ తจࣈྻͱ
• σʔλͷ༻్͕۩ମతʹઆ໌͞Ε͍ͯΔ͔ • σʔλͷ༻ํ๏ͷྫ͕ࣔ͞Ε͍ͯΔ͔ తจࣈྻͷApp Store৹ࠪ؍
App Tracking TransparencyΞϥʔτྫ ༻్❌ ༻ํ๏❌ τϥοΩϯάΛڐՄ͠ ͳ͍߹ͷ͜ͱʹ͍ͭ ͯݴٴ͍ͯ͠Δ👌 IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZUFDIUBMLT ༻్⭕
༻ํ๏⭕
ΧϝϥΞϥʔτྫ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZUFDIUBMLT ͗͢Δ ؆ܿ👌
ৄ͘͠…
Ґஔใ
ϦΫΤετྫ ༻தͷΈڐՄ ৗʹڐՄ
γεςϜΞϥʔτྫ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED ༻தͷΈڐՄ ৗʹڐՄ
• ͬ͘͟Γݴ͏ͱҎԼͷύλʔϯ͕ଘࡏ͢Δ • ະઃఆ • ʮৗʹڐՄʯ • ʮҰ࣌తʹڐՄʯ • ʮ༻தͷΈڐՄʯ
• ʮڐՄ͠ͳ͍ʯ ڐՄঢ়ଶ
ڐՄεςʔλεભҠਤ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
• ࠷খݶͷҐஔใఏڙͰࡁΉΑ͏ɺʮਖ਼֬ͳҐஔใʯΛΦϑʹ ͢Δػೳ • ΞϓϦଆͰΦϓτΞτ͢Δ͜ͱͰ͖ͳ͍ • iOS 14͔Βొ ਖ਼֬ͳҐஔใ
γεςϜΞϥʔτྫ
• UIKitCLLocationButtonɺSwiftUILocationButton • ʮඞཁͳͱ͖ʹҰ͚ͩҐஔใͷΞΫηεཁٻΛ͢Δʯ͕؆୯ ʹ࣮ݱͰ͖Δ • ͜ͷϘλϯࣗମʹҐஔใऔಘػೳͳ͍ • iOS 15Ҏ্Ͱ༻Մೳ
LocationButton
None
γεςϜΞϥʔτྫ
ৄ͘͠…
App Tracking Transparency
IUUQTEFWFMPQFSBQQMFDPNKQBQQTUPSFVTFSQSJWBDZBOEEBUBVTF γεςϜΞϥʔτྫ
• ࣍ͷ͜ͱΛ͢Δ࣌ϢʔβͷڐՄΛٻΊɺ AppTrackingTransparencyϑϨʔϜϫʔΫΛ༻͠ͳ͚ΕͳΒ ͳ͍ • IDFAʹΞΫηε͢Δ • ϢʔβΛτϥοΩϯά͢Δ • iOS
14.5Ҏ߱ରԠඞਢ App Tracking TransparencyʢATTʣͱ
• Identi fi er for Advertisersʢࠂࣝผࢠʣ • ݸʑͷσόΠεʹׂΓͯΒΕΔҰҙͷࣝผࢠ • ࠂओɺࠂωοτϫʔΫIDFAΛͬͯใΛऩू͠ɺࠂ
λʔήςΟϯάͳͲʹ׆༻͢Δ • iOS 14.5͔ΒσϑΥϧτͰऔΕͳ͘ͳͬͨ IDFAͱ
• ΞϓϦͰऩूͨ͠ಛఆͷΤϯυϢʔβ·ͨσόΠεʹؔ͢Δ σʔλΛ • αʔυύʔςΟͷσʔλͱඥ͚Δߦҝ • σʔλϒϩʔΧʔʹ͢ߦҝ τϥοΩϯάͱ
ϦΫΤετྫ
؆ܿʹ·ͱ·ͬͯΔࢿྉ IUUQTTQFBLFSEFDLDPNLPPPPPUBLFNJOJEGBBUUTLBEOFUXPSL
IUUQT[FOOEFWTFSJNBBSUJDMFTCEEBB
ࣸਅ/ಈը
γεςϜΞϥʔτྫ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED ࣸਅΛબʜ
• iOS 14͔ΒPHAuthorizationStatusʹ.limited͕૿͑ͨ • Ϣʔβ͕બͨࣸ͠ਅ͔͠ΞϓϦ͔ΒΞΫηεͰ͖ͳ͍ঢ়ଶΛ࡞ Δ͜ͱ͕Ͱ͖Δ ʮࣸਅΛબ…ʯ
ϦΫΤετྫ ಡΈॻ͖ ॻ͖ࠐΈͷΈ ॻ͖ࠐΈͷΈ ಡΈॻ͖
• ࣸਅಈըϐοΧʔΛදࣔͰ͖Δ • Photo LibraryʹΞΫηε͠ͳ͍ͷͰɺγεςϜΞϥʔτΛɹ ग़͢ඞཁ͕ͳ͍ • ࣸਅಈըΛѻ͏ͳΒ͜ͷํ๏͕ਪ͞ΕΔ • iOS
14͔Β͑Δ PHPickerViewController
IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
• PHPickerViewControllerSwiftUI͔Β͑ͳ͔ͬͨ • iOS 16͔ΒPhotosPickerΛSwiftUI͔Β͑Δ • ͪΖΜγεςϜΞϥʔτඞཁͳ͠ PhotosPicker
PhotosPicker༻ྫ
ৄ͘͠…
࿈བྷઌ
γεςϜΞϥʔτྫ
ϦΫΤετྫ
• ࿈བྷઌͷϐοΧʔΛදࣔͰ͖Δ • ϢʔβͷڐՄΛಘΔඞཁͳ͍ CNContactPickerViewController
None
CNContactPickerViewController༻ྫ
AppϓϥΠόγʔϨϙʔτ
• ΞϓϦ͕ͲΜͳσʔλʹΞΫηε͍ͯ͠Δ͔͕Θ͔ΔϨϙʔτ • ઃఆΞϓϦ͔Β֬ೝͰ͖Δ • σϑΥϧτͰOFF • JSONϑΝΠϧͱͯ͠ΤΫεϙʔτͰ͖Δ • iOS
15Ҏ߱ʹࡌ AppϓϥΠόγʔϨϙʔτͱ
None
None
Privacy Nutrition Labels ʢϓϥΠόγʔϥϕϧʣ
• Ϣʔβ͕ΞϓϦΛμϯϩʔυ͢ΔલʹΞϓϦͷϓϥΠόγʔɹ ํΛΔͨΊͷͷ • αʔυύʔςΟSDKͷ༰өͤ͞Δඞཁ͕͋Δ • App StoreͰݟΔ͜ͱ͕Ͱ͖Δ • WWDC20Ͱൃද͞Εͨ
• 2021ͷय़͔ΒରԠඞਢ ϓϥΠόγʔϥϕϧͱ
ϓϥΠόγʔϥϕϧྫ IUUQTXXXBQQMFDPNKQQSJWBDZMBCFMT
ϓϥΠόγʔϥϕϧྫ IUUQTXXXBQQMFDPNKQQSJWBDZMBCFMT
ৄ͘͠…
࣮ࡍͷରԠͪ͜Β IUUQTTQFBLFSEFDLDPNGSPNBUPNJPTEDKBQBO
Privacy Manifests
• αʔυύʔςΟSDK͕ͲΜͳϓϥΠόγʔใΛऩू͍ͯ͠Δͷ ͔ΛΞϓϦ։ൃऀ͕Δͷେม ϓϥΠόγʔϥϕϧରԠେม
• WWDC23Ͱൃද͞Εͨ • SDK͕ऩू͢ΔσʔλλΠϓɺͲͷΑ͏ʹ༻͞ΕΔ͔ͳͲ͕ એݴ͞Ε͍ͯΔ • αʔυύʔςΟSDK։ൃऀPrivacyInfo.xcprivacyͱ͍͏໊લͷ ϑΝΠϧΛ࡞͢Δ Privacy Manifests͕ొ
• ϓϩδΣΫτͷશͯͷPrivacy ManifestsΛूͨ͠Ϩϙʔτ • Xcode 15ͰɺApp Store͚ϏϧυΛ͢Δ࣌ʹग़ྗͰ͖Δ • ͜ΕΛݩʹϓϥΠόγʔϥϕϧΛهड़͢Δͱྑ͍ Privacy
report
Privacy report IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
• ར༻͢Δͷʹʮཧ༝͕ඞཁͳAPIʯ • ༻͢Δ߹ɺͦͷཧ༝ΛPrivacy Manifests্Ͱ1ͭҎ্બ ͢Δඞཁ͕͋Δ Required Reason API
• 2023ळҎ߱ɺબ͍ͯ͠ͳ͚Ε։ൃऀʹ௨͕ߦ͘ • 2024य़Ҏ߱ɺ৽ن/طଘ྆ํͷΞϓϦʹબ͕͚ٛΒΕΔ Required Reason
• File timestamp APIs • System boot time APIs •
Disk space APIs • Active keyboard APIs • User defaults APIs Required Reason APIϦετ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOCVOEMFSFTPVSDFT QSJWBDZ@NBOJGFTU@ fi MFTEFTDSJCJOH@VTF@PG@SFRVJSFE@SFBTPO@BQJ
ৄ͘͠…ʁ IUUQTGPSUFFKQJPTEDKBQBOQSPQPTBMECCFCCEFBECD
ৄ͘͠…
ϓϥΠόγʔΫΠζ
• ৹ࠪΨΠυϥΠϯɺHuman Interface GuidelinesΛݩʹΫΠζΛ ࡞ • ࣍ͷ֤ઃਖ਼͍͠Ͱ͠ΐ͏͔ʁ ϓϥΠόγʔͷཧղΛਂΊΑ͏
τϥοΩϯάͷڐՄΛಘΔͨΊʹγεςϜΞϥʔτΛग़͢߹ɺɹ τϥοΩϯάΛڐՄͯ͠΄͍͠ཧ༝Λઆ໌͢Δը໘ΛલʹڬΜͰ ྑ͍ ⭕ or ❌ Q1.
લʹը໘ΛڬΜͰOKɻ Human Interface GuidelinesͰʮϓϨΞϥʔτɹ ը໘ɺΠϯυɺϏϡʔʯʹͯɺͦͷද͕ࣔຬͨ ͖͢ཁ݅Λ͍ࣔͯ͠Δɻ ͨͩ͠ɺʮΩϟϯηϧʯͳͲͷճආϘλϯΛදࣔɹ ͢ΔͷNGɻ A1. ⭕
IUUQTEFWFMPQFSBQQMFDPNKQEFTJHOIVNBOJOUFSGBDFHVJEFMJOFTQSJWBDZ1SF BMFSUTDSFFOTXJOEPXTPSWJFXT
࣍ͷέʔετϥοΩϯάʹ֘͢Δ ⭕ or ❌ ʮࣗͷΞϓϦͰऩूͨ͠ใͱαʔυύʔςΟͷσʔλͷඥ ͚͕ϢʔβͷσόΠε্ͰͷΈߦΘΕɺϢʔβσόΠεΛಛఆͰ ͖ΔΑ͏ͳํ๏ͰσόΠεͷ֎෦ʹૹ৴͞ΕΔ͜ͱ͕ͳ͍ʯ Q2.
σόΠεͷ֎෦ʹૹ৴͞Εͯͳ͍ͷͰτϥοΩϯάʹ֘͠ͳ͍ɻ AppTrackingTransparencyϑϨʔϜϫʔΫΛͬͯϢʔβ͔ΒڐՄ ΛಘΔඞཁͳ͍ɻ A2. ❌ IUUQTEFWFMPQFSBQQMFDPNKQBQQTUPSFVTFSQSJWBDZBOEEBUBVTF
LocationButtonΛλοϓͯ͠Ґஔใͷ༻ΛڐՄ͠·ͨ͠ɻ ͜ͷ߹ɺ࣍ճىಈ࣌ʹλοϓͯ͠࠶γεςϜΞϥʔτ͕ɹ ग़ͯ͘Δ͜ͱͳ͍ ⭕ or ❌ Q3.
࠶γεςϜΞϥʔτ͕ग़ͯ͘Δ͜ͱͳ͍ɻ Ϣʔβ͕ΞϓϦΛΩϧ͢ΔͱڐՄແޮʹͳΔ͕ɺ࣍ʹ LocationButtonΛλοϓͨ͠ͱ͖ʹ·ͨڐՄ͕༗ޮʹͳΔɻ A3. ⭕ IUUQTEFWFMPQFSBQQMFDPNKQEFTJHOIVNBOJOUFSGBDFHVJEFMJOFT QSJWBDZ-PDBUJPOCVUUPO
ݱࡏ͕Θ͔Βͳ͍ͱҙຯ͕ͳ͍ΞϓϦͳͷͰɺҐஔใͷڐ ͕ಘΒΕͳ͔ͬͨΒͦͷػೳ͑ͳ͍Α͏ʹͨ͠ ⭕ or ❌ Q4.
ڐՄ͕ಘΒΕͳͯ͘ػೳΛར༻Ͱ͖ΔΑ͏ͳସखஈΛߟ͑Δ ͖ɻ ྫ͑༣ศ൪߸ΛखಈͰೖྗ͓͓ͤͯ͞ΑͦͷҐஔΛѲ͢Δɹ ͜ͱͰସͰ͖ͳ͍͔ͳͲΛݕ౼͢Δɻ A4. ❌ IUUQTEFWFMPQFSBQQMFDPNKQBQQTUPSFSFWJFXHVJEFMJOFTQSJWBDZ
ECαʔϏεͷΞϓϦΛ։ൃ͍ͯ͠·͢ɻੜΫʔϙϯΛɹ ͍ͨ͠ͷͰɺϢʔβͷੜཝΛඞਢ߲ʹͨ͠ɻ⭕ or ❌ Q5.
ੜཝΛඞਢʹ͢Δ͖Ͱͳ͍ɻ ECΞϓϦͷओཁػೳγϣοϐϯάͰ͋Γɺੜ͕Θ͔Βͳ͘ ͯར༻Ͱ͖ΔͣɻΑͬͯɺҙ߲ʹ͢Δͷ͕ྑ͍ɻ A5. ❌ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZUFDIUBMLT
͍͍తจࣈྻ͕ࢥ͍ු͔ͳ͔ͬͨͷͰɺతจࣈྻΛઃఆɹ ͤͣʹ৹ࠪఏग़ͨ͠ɻ⭕ or ❌ Q6.
తจࣈྻඞͣઃఆ͢Δɻ ઃఆͤͣʹ৹ࠪఏग़ͯ͠ɺϦδΣΫτ͞Εͯ͠·ͬͨྫ͋Δɻɹ ͦͦઃఆ͠ͳ͍ͱΫϥογϡͯ͠͠·͏߹͋Δɻ A6. ❌
·ͱΊ
• ϓϥΠόγʔΛૄ͔ʹ͠ͳ͍Α͏ʹ͠Α͏ • ϓϥΠόγʔ4ݪଇΛक͍ͬͯΔ͔ࣗ͠Α͏ • దͳతจࣈྻΛઃఆ͠Α͏ ΞϓϦΛ࡞Δͱ͖
એ
• डΛ௨ա͙ͯ͢͠ͷॴʹ͋Γ·͢ • ΫΠζ/Ξϯέʔτʹճ͢ΔͱΠΠίτ͕͋ΔͷͰͥͻૣΊʹ ΏΊΈεϙϯαʔϒʔεʹ͓ӽ͍ͩ͘͠͞ • ΤϯδχΞืूͯ͠ΔͷͰڵຯ͋ΔํͥͻͲ͏ͧ ΏΊΈεϙϯαʔϒʔεΛग़ͯ͠·͢
͓ΘΓ