1.. _bluetooth_mesh_models_priv_beacon_srv:
2
3Private Beacon Server
4#####################
5
6The Private Beacon Server model is a foundation model defined by the Bluetooth
7mesh specification. It is enabled with
8:kconfig:option:`CONFIG_BT_MESH_PRIV_BEACON_SRV` option.
9
10The Private Beacon Server model is introduced in the Bluetooth Mesh Protocol
11Specification version 1.1, and controls the mesh node's Private Beacon state,
12Private GATT Proxy state and Private Node Identity state.
13
14The Private Beacons feature adds privacy to the different Bluetooth Mesh
15beacons by periodically randomizing the beacon input data. This protects the
16mesh node from being tracked by devices outside the mesh network, and hides the
17network's IV index, IV update and the Key Refresh state. The Private Beacon Server
18must be instantiated for the device to support sending of the private beacons,
19but the node will process received private beacons without it.
20
21The Private Beacon Server does not have an API of its own, but relies on a
22:ref:`bluetooth_mesh_models_priv_beacon_cli` to control it. The Private Beacon
23Server model only accepts messages encrypted with the node's device key.
24
25The application can configure the initial parameters of the Private Beacon
26Server model through the :c:struct:`bt_mesh_priv_beacon_srv` instance passed to
27:c:macro:`BT_MESH_MODEL_PRIV_BEACON_SRV`. Note that if the mesh node stored
28changes to this configuration in the settings subsystem, the initial values may
29be overwritten upon loading.
30
31If present, the Private Beacon Server model must only be instantiated on the primary element.
32
33API reference
34*************
35
36.. doxygengroup:: bt_mesh_priv_beacon_srv
37