You can shuffle everything but the UUID.
Can I decipher the real beacon UUID, Major, Minor on the device, or do we need to contact the server to get the actual beacon identifiers?
You need to resolve the real values with our API or by using our SDK to get the value either on the fly or cached in advance locally.
Once a new configuration is set in the cloud, does the shuffling feature require an application using Kontakt.io SDK to be in proximity of the beacon? For example, if beacon UUID has to be rolled every day, does it require an app with Kontakt.io SDK to be in proximity of a beacon every day?
Actually, no. Once the beacon has shuffling turned on it generates the new Major, Minor, and MAC address values itself using a simple algorithm. The algorithm is modified with a simple seed value that is known only to the beacon and the API. With the algorithm and the seed value, you will always generate the values for Major, Minor, and MAC address in the same order. This means that we don’t need to maintain a connection between the beacon and the API - we just need to know which “iteration” of the beacon’s shuffled value the beacon is currently on.
For security purposes, we don’t pass the algorithm or seed on to a mobile application because then someone could reverse engineer all possible values for a beacon. Instead, we allow you to cache a set number of shuffled beacon Major, Minor, and MAC address values on your Android or iOS application (so that you don’t have to update your app’s storage every day) and then also let you check it live at any time.
The beacon, since it knows its algorithm and seed value, will continue to step through the shuffled values on its own for as long as the battery lasts. Once the battery dies or is pulled out, the current shuffled value is stored and will be what the beacon broadcasts once it is connected to power again. Even if it’s been long enough that the SDK doesn’t have the value stored in memory, the API will still recognize the beacon.
That can very widely; generally, you figure that the beacon needs to be visible by the device that is managing it. Depending on your Tx power, that can be 1 meter or 50 meters.