Core Bluetooth and Address randomization

I understand that the peripheral UUID that core bluetooth assigns to discoveries is generated by Core Bluetooth and should remain constant for a peripheral even if the peripheral's physical address randomises at certain intervals.

I'm having an issue where the same physical peripherals are resolving to different UUIDs after randomisations - I can manually resolve to the physical peripheral using values in the advertisement data, but I don't want to be working around the preferred CB workflow if possible.

Is my understanding that Core Bluetooth should be resolving randomised addresses to a constant UUID correct, and if so, what could be going wrong?
The UUID will stay constant for a peripheral with randomized addresses for paired devices only for the lifetime of the pairing.

If a device is not paired, according to the LE Privacy rules (RRA), the UUID will change as a peer unit is neither capable nor supposed to track a device across changing of addresses.

Core Bluetooth and Address randomization
 
 
Q