This wallet’s recovery data and channel states are backed up on their respective cloud storage provider. The recovery phrase only needs to be backed up once. However, channel states need to be backed up frequently because they change every time this wallet sends or receives a payment; therefore, the channel state is backed up in the cloud automatically every time it is changed.
If the user’s phone is lost, stolen, or broken, they can use the backup from their cloud storage account to regain access to their funds. This could include common ones like Apple iCloud and Google Drive, open source ones like NextCloud, or even a lightning wallet server. To learn more about the technical details, hop over to the private key management section on this topic.
This method provides users with the feeling that they can rely on their cloud provider to regain access to their funds rather than putting the responsibility entirely on themselves. It also significantly reduces friction during onboarding.
Below is what this wallet’s automatic cloud backup user interface looks like.
As mentioned in the previous section, this wallet prompts the user to back up during First Use and, if they opt-out, reminds them again once they have received funds.
The wallet explains to the user that their backup is stored on the cloud, and that they can regain access to their funds on another device using their respective cloud account and bitcoin wallet app. The app also explains that the backup is encrypted with their PIN and requires the user to verify the PIN by entering it a second time.
Do: Inform your Users
Before creating a wallet backup via cloud backup, make sure the user knows what they are about to do. Once the backup is complete, provide a summary and some reassurances before moving on. Let them know where in their cloud storage they can find their backup, and give the file an understandable name. For example, a filename like BitcoinWalletBackup_Samantha conveys far more meaning than a randomly generated number.
In normal conditions, this wallet performs an automatic cloud backup after sending or receiving any payment. However, there could be situations where this fails to happen, such as an error or outage on the side of the cloud provider. Regardless of the reason, it’s good to notify the user if there is a problem. This wallet offers a list of common issues and solutions, and also offers the ability to submit a support request.
By not making users manually backup, you decrease the risk of self-inflicted loss of funds. Automatic cloud backups put less pressure and responsibility on the user.
While this is an easier way for users to set up a wallet, it brings in the potential threat of malicious third-party access. If a user’s cloud account is hacked, their funds could be compromised. This can be mitigated by encrypting the wallet recovery data before sending it to the cloud provider. However, the user could still lose access to funds if they forget their cloud login information or the cloud provider blocks their access.
By bringing cloud storage providers into the equation, we assume that users trust their providers. This also raises the question of decentralization, a guiding principle of the bitcoin space, and could be considered in conflict with the popular saying, “not your keys, not your coins.”
Don’t: Use for High Value Amounts
Automatic cloud backups should not be considered for products with users that are storing high-value amounts. This is because there are potentially more security threat vectors. Instead, consider a manual backup, hardware wallet, or a multi-sig solution like the Savings wallet.
To grant users some ownership of their wallet data, you can create an optional manual backup within the settings menu. A great way to do this is by framing it as an extra layer of security or a good alternative in case the user loses access to their cloud account or feels uncomfortable trusting their cloud provider.
In the next section we will show how this wallet handles manual backups.