BLUETOOTH
Bluetooth scanning and connecting together — central-mode operation where the app both discovers devices and talks to them.
Prefer BLUETOOTH_SCAN or BLUETOOTH_CONNECT when only one is needed. This value requests both Android permissions at once, which over-asks for a scan-only or connect-only app. It matters most for connect-only apps: the BLUETOOTH_SCAN this also requests is treated by Android as location-capable unless neverForLocation is declared, so a POS or car-key app using this takes on a location implication it never needed. This value stays for apps that genuinely do both, and for source compatibility.
Android:
BLUETOOTH_SCAN+BLUETOOTH_CONNECT(API 31+) orACCESS_FINE_LOCATION(API < 31, where scanning required it).iOS:
NSBluetoothAlwaysUsageDescription— one authorization covers scan, connect and advertise, so all three values behave identically there.