diff --git a/bitchat/Info.plist b/bitchat/Info.plist index 57ddfa11..032dc510 100644 --- a/bitchat/Info.plist +++ b/bitchat/Info.plist @@ -36,9 +36,9 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSBluetoothAlwaysUsageDescription - bitchat uses Bluetooth to create a secure mesh network for chatting with nearby users. + bitchat uses Bluetooth to create a secure mesh with nearby people. While backgrounded, bitchat may arm reconnects that iOS completes when a peer returns into range — that system prompt is expected. NSBluetoothPeripheralUsageDescription - bitchat uses Bluetooth to discover and connect with other bitchat users nearby. + bitchat uses Bluetooth to discover and connect with nearby people. NSCameraUsageDescription bitchat uses the camera to scan QR codes to verify peers. NSLocationWhenInUseUsageDescription diff --git a/bitchat/Views/AppInfoView.swift b/bitchat/Views/AppInfoView.swift index cb99fbac..e180a527 100644 --- a/bitchat/Views/AppInfoView.swift +++ b/bitchat/Views/AppInfoView.swift @@ -221,6 +221,23 @@ struct AppInfoView: View { title: "app_info.privacy.ephemeral.title", description: "app_info.privacy.ephemeral.description" ) + /// Explains the iOS 26 “accessory would like to open bitchat” + /// modal from wake-on-proximity (#1427 / #1396). The system modal + /// text is Apple-controlled (Info.plist usage strings are not + /// shown there); this App Info row is the honest in-app label. + static let wakeProximity = AppInfoFeatureInfo( + icon: "antenna.radiowaves.left.and.right", + resolvedTitle: String( + localized: "app_info.privacy.wake_proximity.title", + defaultValue: "background mesh wake", + comment: "App Info privacy feature title explaining BLE wake-on-proximity" + ), + resolvedDescription: String( + localized: "app_info.privacy.wake_proximity.description", + defaultValue: "while closed, bitchat arms bluetooth reconnects so ios can reopen the app when a peer returns into range — the “accessory would like to open bitchat” prompt is that wake, and is safe to allow", + comment: "App Info privacy feature description for the iOS accessory wake modal" + ) + ) static let panic = AppInfoFeatureInfo( icon: "hand.raised.fill", title: "app_info.privacy.panic.title", @@ -814,6 +831,8 @@ struct AppInfoView: View { FeatureRow(info: Strings.Privacy.ephemeral) + FeatureRow(info: Strings.Privacy.wakeProximity) + FeatureRow(info: Strings.Privacy.panic) }