Skip to content

Secure Profile

Kontakt.io Secure Profile packet is a type of a Bluetooth advertising packet that was introduced with Beacon Pros. All Kontakt.io beacons and tags that are based on nRF52 SoCs broadcast this packet.

It was introduced to improve connectivity to beacon devices as well as to improve discoverability of iBeacon and Eddystone packets, since Kontakt.io Secure Profile, where available, is the only connectable (ADV_IND) packet broadcasted by the broadcasting device, allowing iBeacon and Eddystone packet remain non-connectable (ADV). For more details please refer to Broadcasting Rules.

There are two variants of Kontakt.io Secure Profile. Which one is broadcasted depends on whether Kontakt.io Secure Shuffling is enabled or not. Below are packet structures for both variants.

Structure - Secure Shuffling disabled

Byte offset Default/sample value Description
0 0x02 Flags block length - 2 bytes
1 0x01 Flags data type value
2 0x06 Flags data - LE General Discoverable Mode, BR/EDR Not Supported
3 0x0D Data block length
4 0x16 Data block type - Service data
5 0x6A Kontakt.io UUID
6 0xFE Continuation
7 0x02 Payload identifier - non-shuffled Kontakt.io Secure Profile packet
8 0x06 Device model
9 0x01 Firmware version (major)
10 0x09 Firmware version (minor)
11 0x64 Battery level. 0xFF if not applicable.
12 0x Nominal Tx power (not TX power level) that is set through beacon configuration
13 0x61 Unique ID of a beacon
14 0x62 Continuation
15 0x63 Continuation
16 0x64 Continuation

Structure - Secure Shuffling enabled

Byte offset Default/sample value Description
0 0x02 Flags block length - 2 bytes
1 0x01 Flags data type value
2 0x06 Flags data - LE General Discoverable Mode, BR/EDR Not Supported
3 0x0D Data block length
4 0x16 Data block type - Service data
5 0x6A Kontakt.io UUID
6 0xFE Continuation
7 0x01 Payload identifier - shuffled Kontakt.io Secure Profile packet
8 0x06 Device model
9 0x01 Firmware version (major)
10 0x09 Firmware version (minor)
11 0x64 Battery level. 0xFF if not applicable.
12 0x Nominal Tx power (not TX power level) that is set through beacon configuration
13 0xF7 Shuffled Eddystone Namespace
14 0x82 Continuation
15 0x6D Continuation
16 0xA6 Continuation
17 0xBC Continuation
18 0x5B Continuation
19 0x71 Continuation
20 0xE0 Continuation
21 0x89 Continuation
22 0x3E Continuation
23 0x52 Shuffle Eddystone Instance ID
24 0x32 Continuation
25 0x36 Continuation
26 0x63 Continuation
27 0x69 Continuation
28 0x6F Continuation