Whitelist
A filter list of allowed device addresses used to restrict which devices can scan, connect, or be scanned by a BLE device.
Whitelist
A whitelist (officially renamed "Filter Accept List" in Bluetooth Core Specification 5.3) is a list of device addresses stored in the BLE controller that restricts which devices can interact with the local device. It acts as an access control mechanism at the link layer, filtering advertising, scanning, and connection requests based on device identity before they reach the application.
How the Whitelist Works
The whitelist is configured by the BLE host stack through HCI commands. The host adds or removes device addresses (public or random) and then instructs the controller to apply the filter. The controller enforces the whitelist in hardware, which is more efficient than filtering in software because rejected packets are discarded immediately without waking the host processor.
The whitelist can be applied to three operations. As an advertising filter, only devices on the whitelist can send SCAN_REQ or CONNECT_IND to the advertiser. As a scanning filter, the scanner only reports advertising packets from whitelisted devices. As an initiating filter, the central only attempts connections to whitelisted devices.
Use Cases
Whitelisting is commonly used in devices that should only communicate with known, previously bonded devices. A BLE smart lock maintains a whitelist of authorized phones and accepts connection requests only from whitelisted addresses, rejecting unknown devices at the link layer before any application code runs.
In industrial IoT deployments, BLE gateways use scan whitelists to filter for only their own sensor fleet, ignoring the potentially thousands of other BLE devices in range such as phones, headphones, and fitness trackers. This reduces processing load and improves scan efficiency.
Whitelist and LE Privacy
When LE Privacy is enabled, devices use Resolvable Private Addresses (RPAs) that change periodically. The whitelist must work with RPAs, which means the controller needs access to the Identity Resolving Key (IRK) for each whitelisted device. The controller resolves the RPA against stored IRKs to determine if the device is on the whitelist, a process handled transparently by the link layer without application involvement.
Size Limitations
The maximum whitelist size is implementation-dependent and varies by SoC. Common limits range from 8 entries on constrained devices to 256 or more on full-featured controllers. The nRF52840 supports a whitelist of up to 8 devices by default, configurable in the SoftDevice or Zephyr BLE stack.
Related Content
자주 묻는 질문
Our glossary covers 90+ BLE technical terms organized by category. Each term includes a definition, related terms, and links to relevant chips and guides.