In one embodiment, a method of programming an implantable medical device (IMD) to provide therapeutic operations for a patient, comprises: conducting a first communication session between the IMD with an external programming device when network connectivity for a remote server for medical device management is not available for the external programming device; receiving programming data by the IMD from the external programming device to provide therapeutic operations according to at least one instance of settings data during the first communication session, wherein the at least one instance of settings data is validated by a temporary key; conducting a second communication session between the IMD with an external device when network connectivity to the remote server for medical device management is available for the external device; and replacing validation data signed using the temporary key with the received validation data.