Skip to main content Skip to navigation Skip to footer

Config Storage

Zero-knowledge encrypted config sync with passkey-based encryption

Config Storage

Config storage provides zero-knowledge encrypted synchronization of your CLI configuration across devices. Your configs are encrypted with keys derived from your passkey, the server never sees plaintext data.

Prerequisites

  • Two-factor authentication enabled on your account
  • Passkey provider with PRF support: FIDO2 security key (e.g. YubiKey), iCloud Keychain, Google Password Manager, 1Password, or Dashlane
  • Browser: Chrome 133+, Edge 133+, Firefox 130+, or Safari 17+

Setup

  1. Navigate to Config Storage in the sidebar, then click Set Up Config Storage
  2. The requirements checklist verifies your browser, 2FA, and session status
  3. Click Start Setup, you’ll need to touch your security key twice:
    • First touch: registers the passkey
    • Second touch: derives encryption keys via PRF
  4. Setup complete, your passkey secret is stored in your OS keyring

After setup, daily CLI operations (push/pull) work without the passkey.

PRF Provider Compatibility

ProviderPRF SupportPlatforms
YubiKey / FIDO2 security keysWindows 11, macOS, Linux
iCloud KeychainmacOS 15+, iOS 18+
Google Password ManagerAndroid
1PasswordAndroid, iOS
DashlaneCross-platform
Bitwarden extensionIn development
Windows HelloNot supported

Member Management

Config storage is scoped per organization. Members are managed via the web portal:

  • View members: Config Storage → Members
  • Add member: Currently via CLI only (web UI planned)
  • Remove member: Click the remove button on the Members page (requires 2FA + re-authentication)

Safety guards prevent removing the last active member or removing yourself.

Security

  • Zero-knowledge: The server stores triple-encrypted data it cannot decrypt
  • Split-key: Decryption requires both your passkey secret (client) and server secret (server)
  • Rotating tokens: Each API call uses a fresh token; old tokens self-destruct
  • IP binding: Tokens are bound to your IP on first use
  • Instant revocation: Removed members lose access within 30 seconds

Troubleshooting

ErrorCauseFix
PRF not supportedAuthenticator lacks PRF extensionUse YubiKey, iCloud Keychain, 1Password, or Dashlane
X25519 not supportedBrowser version too oldUpdate to Chrome 133+, Edge 133+, Firefox 130+, or Safari 17+
Already configuredStore exists for your organizationVisit /account/config-storage to manage
Config storage not configuredServer missing blob storageContact your admin to configure R2/RustFS
Token expiredNo activity for 24 hoursRun any config storage command to refresh
Cannot remove last memberWould lock out the store permanentlyAdd another member first