How Deploy Keys Work
A deploy key is a long-lived API token (prefixed withdk_) scoped to a specific workspace. When a device uses a deploy key, it:
- Authenticates with Ultra Hub using the key instead of a browser login
- Automatically links to the workspace the key is scoped to — this happens during
ultra install --all(for MDM deployments) or atultra starttime - Begins syncing policies, reporting telemetry, and enforcing guardrails
Creating a Deploy Key
Navigate to Settings > Security in the Ultra Hub dashboard. In the Deploy Keys section:- Enter a key name (e.g., “CI/CD pipeline”, “Engineering fleet”)
- Select the workspace the key should be scoped to
- Choose an expiry option (or select “No expiry” for permanent keys)
- Click Create Deploy Key
dk_ and looks like:
Using a Deploy Key
Environment Variable
Set theULTRA_DEPLOY_KEY environment variable before starting Ultra:
Config File
Add the key to your Ultra config file (~/.config/ultra/config.yaml):
Managed Preferences (MDM)
For fleet deployments, set theDeployKey managed preference via your MDM solution:
See the MDM Deployment Guide for the full setup.
Pre-attaching connectors
A deploy key can carry a set of connectors, so devices show up ready to work instead of each person adding connectors by hand. In the deploy keys table, the Connectors column shows + Attach Connectors, or a count once some are attached. Either one opens the picker, where you choose the connectors the key should set up and fill in any values they need. Every device that enrolls with the key then arrives with those connectors already configured.Managing Deploy Keys
The deploy keys table in Settings > Security shows all keys with their name, workspace, creation date, last used date, and expiry. Click Revoke to immediately invalidate a key.Identity Resolution
A deploy key authenticates the device, not the person using it. Pair it with the device owner’s work email and SCIM directory sync to put a name on the activity:- Supply the device owner’s email. The macOS and Windows installers ask for it as Work email, the terminal installer reads
ULTRA_DEVICE_EMAIL, and MDM setsUserEmailin managed preferences - Ultra matches that email against the users provisioned from your directory
- The device is attributed to that person for audit, policy, and RBAC
Security Considerations
- Treat deploy keys like passwords — store them in secure configuration management, not in source code
- Scope keys narrowly — create separate keys per workspace or deployment group, rather than one key for everything. A single key is meant to be shared across the people reporting into that workspace, so you do not need one key per person
- Set expiry dates — for time-limited deployments, use expiring keys to limit exposure
- Revoke unused keys — regularly audit and revoke keys that are no longer needed
- Rotate keys — periodically create new keys and phase out old ones
Permissions
Deploy key management requires theorg:update permission. Only Owners and Admins can create, view, or revoke deploy keys. See RBAC for the full permissions matrix.