Detecting Unwanted Location Trackers (DULT)

The Detecting Unwanted Location Trackers (DULT) library implements a set of functionalities required for Detecting Unwanted Location Trackers (DULT) integration with the nRF Connect SDK. The implementation is based on the official DULT specification, which lists a set of best practices and protocols for products with built-in location tracking capabilities. Following the specification improves the privacy and safety of individuals by preventing the location tracking products from tracking users without their knowledge or consent.

Accessory non-owner service (ANOS)

The DULT library implements the accessory non-owner service (ANOS), which is a GATT service that uses the accessory non-owner characteristic to communicate with other devices. The ANOS uses UUID of 15190001-12F4-C226-88ED-2AC5579F2A85. The accessory non-owner characteristic manages the DULT Accessory Information and the DULT Non-owner controls defined in the DULT specification.

Configuration

Set the CONFIG_DULT Kconfig option to enable the module. This Kconfig option depends on the CONFIG_BT option that enables the Bluetooth® stack.

The following Kconfig options are also available for this module:

See the Kconfig help for details.

Implementation details

The implementation uses BT_GATT_SERVICE_DEFINE to statically define and register the ANOS. Because of that, the ANOS is still present in the GATT database after the DULT subsystem is disabled. In the DULT subsystem disabled state, GATT operations on the ANOS are rejected.

The ANOS handles all requests received from the outer world. In case of an application input needed to handle a GATT operation, the DULT subsystem calls the appropriate registered application callback. For more details, see the Integration steps section of the DULT integration guide.

API documentation

Header file: include/dult.h
Source files: subsys/dult
Detecting Unwanted Location Trackers