ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
プライバシーの新機能
Appleは、プライバシーは基本的な人権であると信じています。プライバシー保護に配慮した方法でデータを管理する機能や許可フローを新規に提供したり、これらを強化したりすることで、Appleは、デベロッパのみなさんが優れたアプリ体験の創出に集中できるようにしています。このセッションで詳細を確認しましょう。
関連する章
- 0:12 - Privacy is essential
- 0:38 - Privacy pillars
- 1:54 - New pickers
- 2:34 - FinanceKit transaction picker
- 4:53 - Image Playground picker
- 5:44 - Accessory Setup Kit picker
- 8:10 - Private Wi-Fi
- 10:17 - macOS Extensions transparency and control
- 12:23 - App group container protection
- 15:02 - Permission changes
- 15:50 - Contacts access permission
- 17:22 - Bluetooth access permission
- 19:49 - Locked and hidden apps
- 20:46 - Automatic passkey upgrades
- 21:49 - Private caller ID
リソース
関連ビデオ
WWDC24
WWDC20
-
ダウンロード
Privacy EngineeringのLindseyです 「プライバシーの新機能」へようこそ
Appleが行うすべてにおいて プライバシーは非常に重要です それは基本的人権であり Appleはユーザーを守るように プラットフォームを設計しています Appleとすべてのデベロッパは ユーザーの生活の特別な位置を占める 製品を作り出しているため 連帯責任として ユーザーの期待と選択に 沿うことが求められます
プライバシーを考慮した設計は 簡単なことではありません Appleは大切なことに集中できるよう 「プライバシーの柱」を定めています Appleの「プライバシーの柱」とは 必要最低限のデータ オンデバイス処理 透明性とコントロール そしてセキュリティです 必要最低限のデータとは 機能を動作させるために必要な 最低限のデータのみを 収集するということです オンデバイス処理とは 演算をデバイスでローカルに実行することで これにより サーバ側の処理に関連する 情報公開のリスクを回避できます 透明性とコントロールとは ユーザーの自主性を尊重することで ユーザーに関してどのようなデータが 収集されるかを透明にし それがどのように使用されるかについて ユーザーが制御できるようにします セキュリティは プライバシー保護に関する技術的な保証や 機能強化を提供する基盤となります iOS 18とmacOS Sequoiaでは これらの原則が実践されています 必要なデータのみを共有することができる 新しいピッカーを導入し
誤って必要以上に共有されないように プラットフォームの保護機能を強化し
許可を求めるダイアログを明確にして どのデータが共有されるかを明確にしました
ユーザーのプライバシーを向上させる プラットフォームの新機能を導入します
まず 許可を求めるプロンプトなしで ユーザーが必要なデータだけを共有できる 新しいピッカーについて説明します
ピッカーは状況に応じたデータ共有体験を 生み出すことができます アプリに合わせてカスタマイズ可能な UIを利用しながら 最小限のデータしか共有されません システムによってプロセス外のピッカーが アプリと同時に 画面にレンダリングされます アプリはそれを読み取ることができません ピッカーからの情報を選択すると そのデータだけがアプリと共有されます これまで 連絡先や写真 ジャーナルの 提案などにピッカーを提供してきましたが iOS 18では 新しいデータタイプの ピッカーが導入されました 最初の新しいピッカーは FinanceKitに同梱されています FinanceKitでは Apple Cardや Savings for Card、Apple Cashなどの ソースにある新しいカテゴリの デバイス上のデータにアクセスできます トランザクションデータを使って 優れた財務管理アプリを開発できます 様々な簡単な導入メカニズムにより 最小限のデータの管理と保護で済みます ユーザーの財務履歴から ユーザーの興味や習慣 ライフイベントについての知見を 得られることもあります これらのツールによって 財務データを何年分も 必要以上に共有することなく アプリとデータを共有できるようになります 1つ目はトランザクションピッカーです このピッカーは アプリが最新のすべての履歴ではなく 一部の既存のトランザクションレコードに アクセスする必要がある場合に適しています トランザクションピッカーを呼び出すと システムによってアプリの上に ピッカーが描画されます 表示されたリストまたは検索を使用して トランザクションを選択できます 例えば 経費アプリなどで ユーザーは私物の購入履歴を共有せずに 仕事に関連した支出の払い戻しを 追跡したり送信したりできます
これにより ユーザーは機密情報が 共有されることを心配することなく 安心して機能を 利用することができます
2つ目は継続的なアクセス制御です アプリがすべての財務データへの アクセスをリクエストすると オペレーティングシステムによって 対象となる口座の一覧が表示されます ユーザーは共有する口座を選択し 各口座について 最も古い共有日を選択できます
この組み込みのメカニズムは 新たな選択肢をユーザーに提供します 過去の潜在的に機密性の高いデータを 共有する必要がない場合に 使用方法をカスタマイズできるからです アプリは追加作業なしで 関連データセットだけを受け取ります
FinanceKit APIを使用した 全財務データへのアクセスのリクエストは アプリが財務データに継続的にアクセスする 必要がある場合にのみ適しています 例えば 個人向けの予算追跡アプリなどでは 適しているかもしれません トランザクションピッカーとは異なり それにはFinanceKitエンタイトルメントの 申請が必要になります FinanceKitを使えば 共有する情報をカスタマイズするツールを ユーザーに提供できるため 財務データの便利な使用体験を アプリに構築することができます これらのアプリへの実装方法については 「Meet FinanceKit」をご覧ください
iOS 18とmacOS Sequoiaには Image Playgrounds APIを使用して 非公開のプロセス外のUIにより 画像生成機能をアプリに追加するための 新しいピッカーが用意されています Image Playground APIを使えば Image Playgroundアプリに使用されている システム提供のパーソナライズされた デバイス上の画像生成機能を アプリで利用できるようになります これをアプリに含めるには Image Playgroundシートを表示し オプションでテキストプロンプトや 画像などの入力を追加します ユーザーは気に入るまで 繰り返し画像を生成できます ユーザーが選択した最終的な画像だけが アプリと共有されます 画像の生成と選択は オペレーティングシステムがホストするため 許可を求める画面はなく 明示的に共有された結果のみを アプリが受け取ることができます これらのピッカーはデバイスに保存された データを選択するものですが アプリによっては アクセサリに接続するために Bluetoothやローカルネットワークへの アクセスが必要になる場合があります データピッカーと同じ原則が適用されている AccessorySetupKitは プライバシーを保護しながら アクセサリを設定できる 最も簡単な方法です 複数の種類の許可を1つのプロセス外の ピッカーに組み合わせたもので 関連アクセサリへのBluetoothアクセスや Wi-Fiアクセスをアプリに提供し 新しいアクセサリ管理ツールを 提供します AccessorySetupKitでは 必要なすべての許可が 1つの簡単なフローにまとめられています これまでは Bluetoothのペアリングの確認 Wi-Fiネットワークへの参加の確認 Bluetoothアクセサリのペアリングの確認の 3つの異なる許可が必要でしたが これはそれらに代わるものです 複数の確認画面は混乱を招くことがあり 広範な許可が求められるためにアプリの使用に 不安を与える可能性がありました 例えば アプリが カメラとペアリングする場合 Bluetoothを介してカメラと通信を行い Wi-Fiホットスポットに 接続する必要があります AccessorySetupKitを使えば これらを1回のタップで実行できます
カメラとペアリングすると Pal AboutアプリはBluetoothを介して カメラに接続できますが これまでアプリとペアリングしたことがない デバイスは検出できません これはアクセサリの利用を妨げることなく プライバシーを保護するのに役立ちます iOS 18の新しいBluetoothの許可では ユーザーが本当にフルアクセスを 必要とする場合にのみ フルアクセスを許可できます フルアクセスを必要としない この新しいツールが特に便利なのは そのためです ペアリングしたアクセサリの管理も簡単です アプリの設定でペアリング済みアクセサリの 名前を変更してアセットをアタッチできます デバイスを消去すると アクセサリとその許可が 完全に削除されます 新しいアクセサリメニューでは アクセサリのペアリングを解除したり アクセサリの許可を別のアプリと 共有したりできます AccessorySetupKitは iOS 18で アクセサリをペアリングする最良の方法です よりスムーズかつ直感的に 操作することができ アプリがアクセサリと 連動するために必要となる プライバシーの許可だけを 付与できます
これらのアプリへの実装方法については 「Meet AccessorySetupKit」を ご覧ください
これらのピッカーはいずれも ユーザーの制御性を向上させるだけでなく アプリで素晴らしい機能を 提供するために 収集する必要があるデータを 最小限に抑えることができます iOS 18とmacOS Sequoiaに導入された プラットフォームの保護のアップグレードも アプリに影響を与える可能性があります まず iOSのMACアドレスのローテーション用の プライベートWi-Fiコントロールや macOSのMACアドレス保護を 導入するために いくつかの変更が加えられています ご存知のように MACアドレスは ハードウェアに付けられる一意の識別子です 同じネットワークに関連付けられた 異なるデバイス間のネットワークパケットの 受け渡しに使用されます
現在のWi-Fiセキュリティモードでは デバイスのMACアドレスは保護されません そのため ネットワークが安全であっても 近くにあるほかのWi-Fiデバイスや 接続ネットワーク上のすべてのデバイスから MACアドレスを見られたり 追跡されたりすることがあります
MACアドレスは安定したユーザー識別子として 設計されたものではありませんが 変更されることがないため 追跡用のユーザープロファイルを 作成するために悪用される可能性があります
iOSではプライベートWi-Fiアドレスが ローテーションされるようになっており macOSにも同様の保護が導入されています
iOSデバイスでは引き続きネットワークごとに ランダムなMACアドレスが使用されます ネットワークに対して をオンにすると そのネットワークのMACアドレスは 約2週間ごとに変更されます をオフにすると そのネットワークのランダムアドレスは 時間が経過しても変化しません 消去したネットワークのアドレスは 24時間後までに必ずローテーションされます
パブリックネットワークの場合 のデフォルトは 静的なローテーションアドレスですが それ以外の場合のデフォルトは ランダムアドレスです iOS 18のWi-Fi設定では が その機能の拡張に伴い に 変更されています
ランダムな初期化に加えて MACアドレスの ローテーションも提供されます
トグルのデフォルトの状態と動作は デバイスが接続されている ネットワークのタイプに基づきます この同じ機能が 同じローテーションポリシーで macOSでも使えるようになりました ネットワーク管理やレート制限などの目的で アプリがWi-Fiアドレスを使用する場合は これらの設定とアプリをどのように 連携できるか検討する必要があります 次に macOSで実行されている Extensionの通知と設定について説明します これらは アプリの機能やMacの機能を 拡張するソフトウェアについての 透明性とコントロールが提供されます
アプリについて気付きにくい点として バックグラウンドコンポーネントが アプリに含まれることや アプリを開いていない時にもそれらが 実行されることなどがあります
例えば Pal Aboutアプリに含まれている Dock Tile Extensionは アプリを閉じている時に Dock内の アプリアイコンを今日の日付で更新できます ドキュメントをクイックルックで プレビューした時に起動する Pal About QuickLookジェネレータも 含まれていることがあります これらのExtensionは 便利な機能を提供しますが アプリのインストールにExtensionが 含まれているかどうかや それらがシステムのどこに保存されているか については必ずしも明確ではありません これらを可視化するために macOSでは Extensionのインストール時に システム通知が行われるようになりました また で これまで通りExtensionを無効にできます さらに 別の種類のExtensionも サポートされるようになっており それらについても通知を生成したり 設定で制御したりできます
設定ウインドウで ユーザーによって無効にされない限り Extensionの実行が ブロックされることはありません
デフォルトでは Cronがオフになっていますが 同じ設定ウインドウで 再度有効にすることができます アプリのログイン項目とExtensionは macOSシステム設定内の1つの場所に まとめられています これにより アプリが実行される時を 簡単に理解して制御できるようになりました
System Extensionを提供しており それをどこで有効にするかについて 説明している場合は -> に場所を変更してください Directory Servicesプラグインと 従来のクイックルックのプラグイン com.apple.loginitems.plistファイルは すべてサポートされなくなりました
これらすべての変更により システムで何が実行されているか明確になり ユーザーが制御しやすくなります 最後は macOSのアプリグループ データコンテナ保護です これにより データをSandbox化する 準備がまだできていないアプリに グループ単位でも単体でも 優れたSandbox保護を提供できます App Sandboxは 保護されたリソースに アクセスを制限することで 常に想定内のデータアクセスが 発生するようにします
アプリが別のアプリのコンテナに アクセスしようとすると アクセスを許可するかどうかを尋ねる メッセージが表示されます この例では PalAboutが別のアプリのコンテナにある データにアクセスしようとしたため メッセージが表示されました コンテナ外のデータは 非Sandbox化プロセスで 読み取ることができます アプリには ユーザーがアプリを信頼して 提供した個人データが保存されており 他者と共有してほしくないデータが 保存されている場合もあります Sandbox化により アプリを安心して使用できるように ユーザーが制御することができます この単体のアプリに対する同じ保護を 共有コンテナに拡張し アプリのグループ単位にも適用できます この例では Pal About Calendarと Pal About Mailが アプリグループコンテナで 連絡先とイベントのデータを共有しています これはアプリを保護しながら アプリ間でデータを共有する優れた方法です アプリコンテナと同様に 貴社のグループ共有コンテナに ほかのデベロッパのアプリがアクセスすると データが共有される前に ユーザーの許可を求める メッセージが表示されます この例では Example Team Calが 共有Pal Aboutコンテナにある Pal About Mailデータにアクセス しようとしてメッセージが表示されました
全体をSandbox化する準備が できていないアプリの場合も グループコンテナを使って それらのデータの一部を保護できます
閲覧履歴や写真のような 特に機密性の高いデータを アプリに保存するかどうか検討してください それらのデータを 保護されたグループコンテナに保存し 同じ保護を提供することもできます この例では Pal About Browserは ネットワークやスタイルに関するリソースを 非Sandbox化のままで 閲覧履歴を含むファイルを保護できます 自社チームのコンテナへのアクセス時に メッセージが表示されないようにするには Info.plistでエンタイトルメントを宣言し 正しい形式でグループ識別子を指定します 使用するのは 適切なFoundation APIと containerURL (forSecurityApplicationGroupIdentifier:)のみで 共有コンテナまでのパスを取得します
実装方法については 「App Groups Entitlement」の ドキュメントをご覧ください
では ここからはChrisと交代して 許可の変更点と新しいプラットフォーム機能 について説明してもらいましょう こんにちは Privacy EngineeringのChrisです Appleは アップデートのたびに みなさんのアプリに役立つように また ユーザーがデータへのアクセスを より細かく制御して アプリで必要な場合には 個人情報を安心して提供できるように APIを改良してきました これらの制御性により 必要な情報のみが収集され 誰もが安心して使用できる機能を 提供できるようになりました iOS 18とmacOS Sequoiaでは ローカルネットワークやBluetooth 連絡先へのアクセスに対する 透明性とコントロールが向上しています まず iOS 18での連絡先の共有に関する 変更点を見ていきましょう 連絡先は時間の経過とともに増えていきます 連絡先1つ1つには 自分に関係する人たちの 多くの情報が含まれています ユーザーが連絡先を 共有することを選択すると アプリはすべての連絡先に 継続的にアクセスできるようになります iOS 18では 連絡先に含まれる情報についての 透明性が向上しているほか 制御性も向上しており 共有する連絡先を選択することができます 友だちマッチング機能を提供する メッセージングアプリなど 多くの連絡先に継続的に アクセスすることを求めるアプリの場合 連絡先の許可を求める画面が 2段階で表示されるようになりました 最初に連絡先を 共有するかどうかを尋ねられます をタップすると 次に 制限付きアクセスとフルアクセスの どちらを許可するかを選択できます iOS 18では アプリが 連絡先へのアクセスをリクエストすると 新しいフローが自動的に表示されるため 新しいAPIを導入する必要はありません メールの受信者の検索など 連絡先を検索する機能を アプリに持たせている場合 iOS 18には 連絡先を少しずつ追加できる ボタンを使用した 新しい方法が追加されています
全画面表示のピッカーの代わりに このボタンはアプリ独自のUIに適合し アプリがアクセスできない 連絡先の検索結果を アプリに表示することができます ボタンの使い方は1回タップするだけです 一意に一致する連絡先が検索され ボタンのタップで連絡先が共有されるため その時にアプリが必要とする連絡先のみを アプリと共有することができます ほとんどの場合 アプリが連絡先に 継続的にフルアクセスする必要はありません ボタンを使うことで フルアクセスなしで 連絡先ピッカー体験を フルで提供することができ ユーザーに安心して連絡先を アプリと共有してもらうのに役立ちます iOS 18での連絡先へのアクセスについては 「Meet the Contact Access Button」を ご覧ください 連絡先へのアクセスの向上に 採用したのと同じ原則が Bluetoothとローカルネットワークにも 適用されました iOS 18のBluetooth認証画面に 行われた変更では Bluetoothアクセスで 共有されるデータのタイプや アクセスが悪用された場合に 生じる可能性がある プライバシーのリスクについての 透明性の向上に焦点が置かれました Bluetoothはデバイスを接続する ためだけのものと思われがちですが Bluetoothにアクセスすることで デバイスの場所など多くのことがわかります デバイスを一意に識別して 追跡することもできます Bluetoothへの永続的なアクセスを 許可することは大きな選択ですが 新しい認証画面では アクセスを許可した場合に アプリに共有されるデータが わかりやすく視覚化されます 新しいBluetooth認証画面には デバイスの現在の場所が 示されたマップと 関連デバイスのサンプルが 表示されるようになりました アプリでのBluetoothの使用方法を説明した わかりやすい説明文と この付加的な情報により ユーザーは必要な情報に基づいて 選択を行えるようになります 新しい画面はiOS 18により表示されるため 新しいAPIを導入する必要はありません 最後に macOSでローカルネットワーク上の デバイスへのアクセスを リクエストした場合の 変更点について説明します ローカルネットワークにアクセスすることで アプリはローカルネットワーク上の ほかのデバイスをスキャンし 接続を試みることができるようになります これによりユーザーが自宅にいることや 使い慣れたネットワークにいること またユーザーの習慣や趣味 さらには交友関係さえわかることがあります macOS Sequoiaは ローカルネットワーク へのアクセスの制御をmacOSに提供します アプリがローカルネットワークからデータに アクセスしようとすると画面が表示されます 文脈なしで画面を表示しても ユーザーがアクセスを許可する 可能性は低いため 必ずアプリとそのプロセスが 文脈の中でのみ アクセスをリクエストするようにし 使用方法についてのわかりやすい説明文を Info.plistで定義するようにします 優れた目的文字列は アプリへの信頼を築く最善の方法です そのためには ローカルネットワークへの アクセスにより提供されるデータなど アプリで収集したデータをどのように 利用する計画であるかを正確に説明します すべてのアプリについて Info.plistにBonjourサービスキーまたは Networking Multicast エンタイトルメントがある場合 ローカルネットワークの使用方法について 説明を含める必要があります これを行わないと アクセスがブロックされます アプリまたはその依存関係に Bonjourブラウジングや広告 またはローカルネットワークに依存する カスタムマルチキャストやブロードキャスト もしくはユニキャスト接続がある場合 これらの変更が適用されます ローカルネットワークの プライバシーについては 「Support local network privacy in your app」のビデオをご覧ください 特定のカテゴリにあるデータを アプリがリクエストした時の 画面の表示方法が 改良されただけでなく iOS 18とmacOS Sequoiaには プライバシーとセキュリティを重視する 新しいプラットフォーム機能も 用意されています 1つ目は 機密性の高いアプリと それに含まれる情報を保護するための 新しい方法を提供するシステム機能です 友だちや家族など ほかの人にデバイスを渡して 写真を見たりゲームをしたり できるようにすることがありますが その場合も デバイスの機密性の高い場所には アクセスできないようにして 安心したいかもしれません アプリをロックできるようにすることで 安心を与えることができるだけでなく メッセージや 好きな人 健康情報など プライベートなデータを保護するための 新しい方法を提供できます iOS 18では プライバシー保護がさらに強化され アプリをロックして非表示にしたり アクセスする前に認証を求めるように 設定したりできるようになりました アプリをロックまたは非表示にすると 最初にFace IDやTouch ID またパスコードで認証を行わない限り アプリのコンテンツにアクセスできません これには 共有シートからアクションをタップするなど すべてのエントリポイントが含まれます アプリのコンテンツは 検索や通知を含め システムのどこにも表示されないため 他人が機密性の高い情報を うっかり見てしまうことはありません アプリに含まれる個人データを 保護するための別の方法として パスキーへの自動アップグレードにより パスキーを導入することができます 様々なアカウントを保護している 多数のパスワードを管理するのは 何度も繰り返す必要がある 骨の折れる作業です パスキーはパスワードに置き換わる 標準ベースの方法で より簡単かつより安全で フィッシングされにくい方法です iOS 18とmacOS Sequoiaでは パスキーでサインインするように 既存の アカウントを自動アップグレードできます ユーザーのプライバシーにとって アカウントのセキュリティは不可欠です そのため アプリがパスワードを使って アカウントを保護している場合は パスキーのサポートを追加することを おすすめします パスキーへの自動アップグレードにより サインイン時にアプリで自動的に 既存のアカウントをアップグレードできます パスキーはパスワードと連動するため それらを組み込むために ログインフローを調整する必要はありません パスキーを導入することで 安全で簡単なサインイン方法を ユーザーに提供できるだけでなく 別のパスワードを覚えておく必要がないため 負担を軽減できます パスキーへの 自動アップグレードについては 「Streamline sign-in with passkey upgrades and credential managers」をご覧ください 最後に 発信者番号を使用したアプリを 開発しているデベロッパ向けに 新たなツールが用意されました これは サーバに発信者を知られることなく Live Caller IDによる優れた体験を 提供したいデベロッパにとって朗報です プライバシー保護に配慮した これらのツールでは プライベートリレーと個人情報取得の両方が 利用されています Live Caller IDに 個人情報取得を実装する際に 準同型暗号を使用しているため サーバは暗号化された値を 復号せずに そのまま使用できます 受信した暗号文に対して サーバが計算を実行し 一致するかどうかを評価し 変換された暗号文を リクエスト元のデバイスに戻すことで 結果が表示されます 個人情報取得がなければ 受信した電話番号などの 機密情報を明らかにすることなく Live Caller IDを実装することは できませんでした これらのツールを導入することで ユーザーのプライバシーを侵害することなく タイムリーに情報を 提供できるようになります サーバ設定用のオープンソースリソースが 2024年後半に利用可能になる予定です Live Caller ID検索Extensionの 使い方については ドキュメントをご覧ください 「Getting up-to-date calling and blocking information for your app」です
今日紹介したアップデートはすべて プライバシー保護に配慮して設計されており 「プライバシーの柱」に基づき 重要なことに焦点を当てています 個人データを適切に取り扱い 安心して使用できるアプリを提供できるよう そのためのツールも作成しました フルアクセスに頼るのではなく アクセサリや連絡先 トランザクション用のピッカーを ぜひ使用してください ユーザーがアプリをロックしたり Wi-Fiアドレスのローテーションを 活用したりできるように 準備しましょう また Bluetoothアクセサリ用の AccessorySetupKitや ボタンなどの 改良された新しい許可フローを ぜひ取り入れてみてください 最後に 新しいプラットフォーム機能によって アプリにプライバシーとセキュリティの 向上をもたらしてください
優れたプライバシー保護をすべての人に 提供する様々な機能を紹介しました ご視聴ありがとうございました
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。