| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Fields
pm_privacy_params_t Struct Reference
Peer Manager

Device Privacy. More...

`#include <peer_manager_types.h>`

## Data Fields
uint8_t | privacy_mode
uint8_t | private_addr_type
uint16_t | private_addr_cycle_s
ble_gap_irk_t * | p_device_irk

## Detailed Description

Device Privacy.

       The privacy feature provides a way for the device to avoid being tracked over a period of
       time. The privacy feature, when enabled, hides the local device identity and replaces it
       with a private address that is automatically refreshed at a specified interval.

       If a device still wants to be recognized by other peers, it needs to share it's Identity
       Resolving Key (IRK). With this key, a device can generate a random private address that
       can only be recognized by peers in possession of that key, and devices can establish
       connections without revealing their real identities.

Note
  If the device IRK is updated, the new IRK becomes the one to be distributed in all bonding procedures performed after sd_ble_gap_privacy_set returns. The IRK distributed during bonding procedure is the device IRK that is active when sd_ble_gap_sec_params_reply is called.

## Field Documentation

ble_gap_irk_t* pm_privacy_params_t::p_device_irk

              When used as input, pointer to IRK structure that will be used as the default IRK. If NULL, the device default IRK will be used.

When used as output, pointer to IRK structure where the current default IRK will be written to. If NULL, this argument is ignored. By default, the default IRK is used to generate random private resolvable addresses for the local device unless instructed otherwise.

uint8_t pm_privacy_params_t::privacy_mode

Privacy mode, see Privacy modes. Default is BLE_GAP_PRIVACY_MODE_OFF.

uint16_t pm_privacy_params_t::private_addr_cycle_s

Private address cycle interval in seconds. Providing an address cycle value of 0 will use the default value defined by BLE_GAP_DEFAULT_PRIVATE_ADDR_CYCLE_INTERVAL_S.

uint8_t pm_privacy_params_t::private_addr_type

The private address type must be either BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_RESOLVABLE or BLE_GAP_ADDR_TYPE_RANDOM_PRIVATE_NON_RESOLVABLE.