Multi-Device Sync
Overview
Your HUMΛN Passport isn't tied to a single device—you enroll additional passkeys into a device mesh (phone, laptop, tablet). Losing one device does not mean losing your identity, as long as another enrolled authenticator remains.
Why Multi-Device?
Passport.enrollDevice() SDK callThink of it like: Adding a second house key — both open the same door; neither is a copy of your fingerprint.
How Device Enrollment Works
/v1/passport/identities/:did/devices/v1/passports/:did/devices/sync/* for encrypted vault relay (Phase 6)Command Plane /v1/control-plane/devices is org edge topology, not human passkey sync — do not confuse them.
SDK Examples
Enroll a new passkey device
Optional vault-relay sync
While online, initiate encrypted sync between enrolled devices:
POST /v1/passports/{did}/devices/sync/initiate
Authorization: Bearer
Content-Type: application/json{
"initiating_device_id": "dev_laptop",
"current_device_signature": "…",
"ephemeral_public_key": "…"
}
Then …/sync/approve and …/sync/complete on the peer device. This is a ceremony, not HumanOS.Passport.syncToCloud().
Revoke a compromised device
DELETE /v1/passport/identities/{did}/devices/{device_id}
Authorization: Bearer Honest limitations
| Fantasy | Reality |
|---|---|
HumanOS.Passport.generateDeviceKey | WebAuthn creates credentials on-device |
| One REST call enrolls everything | Auth options + register options + POST devices |
CP devices API | Org edge devices — different domain |
| P2P sync SDK method | Optional /devices/sync/* vault relay |
Security Considerations
DO
Authorize enrollment from an already-trusted device
Revoke lost devices immediately via DELETE …/devices/:id
Refresh revocation snapshots for offline verifiers
DON'T
Do not invent Passport.syncToCloud / enrollDevice SDK methods
Do not confuse control-plane devices with passkey enrollment
Do not store primary auth private keys in cloud sync blobs
Alias: multi-device-passport-sync
Older links to /docs/patterns/passport/multi-device-passport-sync point here. Enrollment is always WebAuthn + /v1/passport/identities/:did/devices — there is no separate “passport sync” SDK.
Next Steps
See Also
/v1/passport/identities/:did/devices/*/v1/passports/:did/devices/sync/*