Array requires authentication at three points (the lock, the app, and the cloud) to complete every user-requested action, such as lock, unlock, status requests or programming actions. All commands sent to the lock from the Array app are encrypted and encoded with information specific to the physical lock the app is addressing. The lock and the smart device are paired with unique encryption during the lock setup process and/or when a smart key is issued to a new smart device. Additionally, all commands are verified by the Array cloud and again on the lock before any command is executed. Array uses industry-standard non-proprietary 128 bit SSL and TLS encryption.