Devices and pairing
Every device has its own signing key. The server knows a device only by its public key, and a new device joins only when an existing one vouches for it.
Pair a new machine
You need both machines at the same time, though not in the same place: a remote desktop or SSH session to the old machine works.
keygrant devices add # on a device that's already in the account: shows a pairing code
keygrant pair # on the new machine: enter the code
Both screens then show a fingerprint. Check that they match before typing
yes on the old device. This is the step that stops a malicious server from
pairing a device of its own. The new machine then asks for your account
password once, and it’s a full device that can sync and decrypt.
The pairing code is valid for 10 minutes and works once.
Pair a phone or browser as an approver
Run keygrant devices add as above, but enter the code at
app.keygrant.app instead of running keygrant pair.
The browser becomes an approver: it can approve or deny requests and see
secret names, never values. See Phone approver.
List devices
keygrant devices
502a-11fb-b656-cd08 cli Edward-GT14 9c1e40d2-6a1b-4f0e-9d33-2c8f1a7b5e60 (this device)
70f7-91ef-71ed-72e1 browser chrome-win 3a77c0e9-81d4-4b52-a6f1-0e9b2d4c7a13
Columns: fingerprint, kind (cli or browser), name, device ID.
Remove a device
keygrant devices remove 3a77 # an ID prefix is enough if it's unique
You’re asked to type remove to confirm. Removing a cli device also
rotates the vault key: a fresh key is generated and every item is
re-encrypted, so a lost device’s cached key no longer opens new data.
Secrets a lost machine already synced are still on that machine. If it was lost or stolen, rotate the real API keys at each provider too.
Trust approvers paired elsewhere
A CLI device only accepts verdicts from approvers it trusts. The device that paired the approver trusts it automatically; on your other machines run:
keygrant devices trust
It lists browser approvers this machine doesn’t trust yet, shows each fingerprint, and asks you to confirm it against the fingerprint on that approver’s page.