Adding a device to Aranya requires completing an onboarding procedure. This onboarding procedure is a series of out-of-band exchanges and actions that devices must perform to properly set up their cryptographic identities within the team.
Prerequesites:
Onboarding happens in three phases:
AddMember
commandAddTeam()
The first stage requires the new device first transfer its keybundle to the owner. The keybundle contains the new device’s public keys, and is used by the Aranya graph to authenticate and authorize actions.
Once the new device is added to the team by the owner, the team needs to be tracked in local storage by adding the team on the new device. This also allows the new device to receive the information required to establish encryption keys for syncing.
Finally, the new device needs to sync the command adding it to the team. It can sync with any device on the team with this command.
Note: It is common to see “no such storage” errors on the device being added if it syncs before the team is fully initialized locally. These are non-fatal errors and will resolve once the device has synced the AddMember command and has set up the local storage.