ハイライト
iOS 18 と macOS Sequoia のプライバシー更新は 1 つの核心設計哲学を中心に:「全量認可」を「精確な選択」に分解。システムレベル Picker でユーザーが必要なデータ断片のみ共有(26:31)。
主要内容
長年、app が機密データ権限を要求する方法は 2 つだけ:全量認可か拒否。ユーザーはジレンマに陥る——1 つの機能を使いたいのに、必要をはるかに超える全データを渡さなければならない。経費 app は仕事関連の取引だけ必要かもしれないが、銀行明細全体へのアクセスを要求。配网 app はカメラを 1 回接続するだけかもしれないが、完全な Bluetooth スキャン能力を要求。
iOS 18 と macOS Sequoia はシステムレベル Picker でこれを解決。Picker はシステムがレンダリング。app は中身を読み取れない(02:11)。ユーザーが Picker で特定データを選択後、選択部分のみ app に共有。「認可」が「選択」に変わり、過剰共有が不要に。
今年追加の Picker は 3 分野:FinanceKit の取引選択器でユーザーは特定の金融取引のみ共有。銀行明細全体ではない(03:09)。Image Playground API は app に最終選択された生成画像のみ渡し、生成プロセスは完全にシステムホスト(04:57)。AccessorySetupKit は Bluetooth ペアリング、Wi-Fi 接続、デバイス確認の 3 権限ダイアログを 1 つの選択器に統合(05:58)。
詳細
新規データ選択器
FinanceKit 取引選択器
Apple Card、Savings、Apple Cash などの金融データにアクセスする新方式。金融取引データへのアクセスを要求すると、システムは 2 オプションを表示(02:34):
取引選択器(Transaction Picker)
├─ 適用シナリオ:既存取引の一括のみアクセス
├─ ユーザー行動:システムレンダリングリストで特定取引を検索・選択
└─ データ結果:選択された取引のみ共有
継続アクセス制御(Ongoing Access Control)
├─ 適用シナリオ:継続的・完全な金融データアクセスが必要
├─ ユーザー行動:共有アカウントを選択。各アカウントに最早共有日を設定
└─ データ結果:時間範囲に合致する完全データストリームを取得
キーポイント
├─ 取引選択器は FinanceKit Entitlement 不要
├─ 継続アクセスは FinanceKit Entitlement の申請成功が必要
├─ ユーザーは各アカウントごとに「最早共有日」を個別設定可能
└─ この選択層でユーザーは古く機密性の高いデータの共有を制御可能
Image Playground API
システム提供のデバイス上画像生成能力。Sheet 形式で app に統合(04:57)。フロー:
1. app が Image Playground Sheet を表示
2. 任意:テキストプロンプトまたは参照画像を提供
3. ユーザーがシステムホスト環境で画像生成を反復
4. ユーザーが最終選択した画像のみ app に共有
キーポイント
├─ 権限ダイアログ不要
├─ 画像生成と選択プロセスはシステムホスト。app は覗き見不可
├─ 最終選択画像のみ共有
└─ 生成プロセスは完全にデバイス上で完了
AccessorySetupKit
Bluetooth アクセサリペアリングの統合ソリューション。以前分散していた 3 権限フローを統合(05:58):
旧フロー(3 独立ダイアログ)
├─ Bluetooth pairing prompt
├─ Wi-Fi network join prompt
└─ Bluetooth accessory pairing confirmation
新フロー(AccessorySetupKit、1 回完了)
├─ ワンタップで Bluetooth ペアリングと Wi-Fi 接続を完了
├─ app はペアリング済みデバイスにアクセス可能
├─ app は未ペアリングデバイスを発見不可
└─ Settings でアクセサリ名変更・権限管理可能
キーポイント
├─ 完全な Bluetooth スキャン権限不要
├─ ペアリング後、app はその app とペアリングしたデバイスのみアクセス
├─ 新アクセサリメニューでデバイス解除可能
├─ アクセサリ権限を他 app と共有可能
└─ iOS 18 でのアクセサリペアリング首选方案
プラットフォーム保護アップグレード
Private Wi-Fi Address
iOS の MAC アドレスランダム化にローテーション機構を追加。macOS も初めて MAC アドレス保護を獲得(08:11):
iOS 18 以前
└─ 各 Wi-Fi ネットワークに 1 つのランダム MAC アドレス
iOS 18 以降
├─ 「Rotate Wi-Fi Address」オン:MAC アドレスは約 2 週間ごとに変更
├─ 「Rotate Wi-Fi Address」オフ:そのネットワークのランダムアドレスは固定
├─ 忘れたネットワーク:最大 24 時間後にローテーション
├─ 公共ネットワーク:デフォルトでローテーションアドレス有効
└─ その他ネットワーク:デフォルトでランダムアドレス
キーポイント
├─ MAC アドレスは Wi-Fi セキュリティモードの保護範囲外
├─ 同一ネットワーク内の全デバイスから見え追跡可能
├─ iOS 18 で設定項目が「Private Wi-Fi Address」から「Rotate Wi-Fi Address」に変更
└─ macOS も iOS と同じローテーション戦略を獲得
macOS 拡張透明化
macOS は拡張インストール時にシステム通知を表示。「ログイン項目と拡張機能」設定で統合管理(10:17):
変化
├─ 拡張インストール時にシステム通知
├─ より多くの拡張タイプが通知と設定制御をサポート
├─ Cron はデフォルトオフ。同一設定ウィンドウで再有効化可能
├─ ログイン項目と拡張機能が System Settings で統合管理
└─ 非推奨:Directory Services plug-in、legacy QuickLook plug-ins、com.apple.loginitems.plist
App Group コンテナ保護
macOS が App Group コンテナにサンドボックス保護を提供(12:23):
単一 app コンテナ(既存メカニズム)
├─ App Sandbox が保護リソースへのアクセスを制限
├─ 1 つの app が別 app のコンテナにアクセスしようとするとプロンプト
└─ ユーザーが許可または拒否を選択
App Group コンテナ(新保護)
├─ 複数 app がデータ共有可能
├─ 他開発者の app がアクセスしようとするとプロンプト
├─ 機密データ(閲覧履歴など)のみ保護グループコンテナを使用可能
└─ プロンプト回避条件:Entitlement 正しく宣言、正しい Group ID、Foundation API のみ使用
権限フロー改善
連絡先権限
iOS 18 が連絡先権限に 2 段階ダイアログを導入(15:30):
2 段階フロー(複数連絡先アクセスを要求する app 向け)
├─ 第 1 段階:連絡先を共有するか確認
└─ 第 2 段階:「制限付きアクセス」または「完全アクセス」を選択
Contact Access Button(連絡先検索シナリオ向け)
├─ 全画面 Picker 不要
├─ 自分の UI に埋め込み可能
├─ 軽タップで連絡先共有
└─ 完全で継続的な連絡先アクセス不要
キーポイント
├─ 2 段階フローは自動有効。新 API 採用不要
├─ Contact Access Button はメール受信者検索などのシナリオ向け
└─ 完全で継続的な連絡先アクセスを本当に必要とする app は少ない
Bluetooth 権限
iOS 18 の Bluetooth 認可ダイアログは Bluetooth アクセスで露出するデータタイプと潜在リスクを明示(17:21):
新ダイアログ内容
├─ デバイス現在地の地図を表示
├─ 関連デバイスの例を表示
├─ Bluetooth アクセスで漏洩しうる情報を説明
│ ├─ デバイス位置
│ └─ 追跡用の一意デバイス識別子
└─ 使用説明文字列と組み合わせ、知情決定を支援
キーポイント
├─ 継続的 Bluetooth アクセス権限の付与は重大な選択
├─ 新ダイアログは自動有効。新 API 採用不要
├─ AccessorySetupKit は完全 Bluetooth アクセス不要時のより良い選択
└─ 明確な使用説明文字列が信頼構築の鍵
ローカルネットワーク権限
macOS Sequoia がローカルネットワークアクセスに権限制御を導入(18:14):
適用シナリオ
├─ Bonjour ブラウズまたはブロードキャスト使用
├─ カスタムマルチキャスト、ブロードキャスト、ユニキャスト接続使用
└─ ローカルネットワークに依存する任意の接続
要件
├─ Info.plist にローカルネットワーク使用説明を含める必要
├─ Bonjour Services key がある場合、NSLocalNetworkUsageDescription を含める必要
├─ Networking Multicast entitlement がある場合、説明を含める必要
└─ 条件未充足時アクセスはブロック
新プラットフォーム能力
App ロックと非表示
iOS 18 でユーザーは任意の app をロック・非表示可能(20:06):
効果
├─ app アクセス前に Face ID、Touch ID、またはパスコード認証が必要
├─ 全エントリポイント(共有シート操作など)で認証が必要
├─ コンテンツは検索や通知に表示されない
└─ 他人が機密情報を偶然見ることがない
自動パスキーアップグレード
iOS 18 と macOS Sequoia はログイン時に既存アカウントをパスキーに自動アップグレードをサポート(21:48):
利点
├─ パスキーは標準ベースのパスワード代替
├─ 使いやすく、より安全、フィッシング耐性
├─ ログインプロセス中に既存アカウントを自動アップグレード可能
├─ パスワードと共存。ログインフロー調整不要
└─ ユーザーのパスワード管理負担を軽減
Live Caller ID とプライベート情報検索
新しい着信表示ツールはプライベートリレーと準同型暗号でプライベート情報検索を実現(21:49):
ワークフロー
├─ デバイスが暗号化電話番号をサーバーに送信
├─ サーバーが暗号文上で計算(復号しない)
├─ サーバーがマッチを評価
└─ 変換された暗号文をデバイスに返却
キーポイント
├─ サーバーは平文電話番号を決して見ない
├─ 準同型暗号で暗号文上計算を利用
├─ オープンソースサーバー設定リソースは 2024 年末公開予定
└─ ドキュメント参照:Getting up-to-date calling and blocking information for your app
重要ポイント
1. 全量権限の代わりに Picker を使用
アクセサリペアリング、連絡先、取引記録などの機密データでは、完全権限アクセスの要求よりシステム提供 Picker を優先。Picker はユーザーが必要なデータ断片のみ共有。プライバシー保護と app が管理するデータ量削減の両立。
価値がある理由:ユーザーはデータ共有範囲を明確に制御できる場合、機能利用意欲が高い。機能採用率向上。
始め方:app 内の全機密データシナリオを確認。対応 Picker(AccessorySetupKit、Contact Access Button、FinanceKit Transaction Picker)で代替可能か検討。
2. ローカルネットワークと Bluetooth アクセス向けに明確な使用説明を準備
iOS 18 と macOS Sequoia のローカルネットワーク・Bluetooth 権限ダイアログはアクセスで露出するデータタイプを明示。明確な使用説明文字列がユーザー信頼構築の鍵。
価値がある理由:文脈なしで権限ダイアログを見るユーザーは拒否しやすい。良好な説明で認可率向上。
始め方:Info.plist のローカルネットワーク・Bluetooth 関連使用説明文字列を精査。app がデータをどう使用するか明確に記述。
3. AccessorySetupKit でアクセサリペアリングを簡素化
Bluetooth アクセサリペアリングが必要な app では、AccessorySetupKit が 3 独立権限フローを 1 つに統合。UX 向上、プライバシー保護も精確。
価値がある理由:権限ダイアログの混乱を減らし、ペアリング成功率向上。app はペアリング済みデバイスのみアクセス。最小権限原則に合致。
始め方:「Meet AccessorySetupKit」session で既存ペアリングフローの新 API への移行方法を確認。
4. 機密機能向けにパスキー有効化を検討
パスワードでアカウント保護する app では、パスキーと自動アップグレード機能のサポートを検討。より安全で使いやすいログイン体験。
価値がある理由:パスキーはパスワードより安全でフィッシング耐性。ユーザーのパスワード管理負担軽減。
始め方:「Streamline sign-in with passkey upgrades and credential managers」session で app 内自動パスキーアップグレードの実装方法を確認。
関連セッション
- What’s new in location authorization — 位置認可が 2.0 時代へ。新しい推奨とテクニック
- Meet AccessorySetupKit — 統合権限で Bluetooth アクセサリ設定を簡素化
- Meet the Contact Access Button — 完全権限なしで連絡先にアクセスする新方式
コメント
GitHub Issues · utterances