Automation Credentials

Automation & CI

Automation Credentials

Give CI and deployment systems non-interactive, environment-scoped access without copying a human device identity into automation.

Create a credential

Create the credential from an owner device and grant only the environments and roles the job needs:

Create CI and deploy credentials
$ ghostable access create --name github-actions --kind ci --grant staging:reader
$ ghostable access create --name production-deploy --kind deploy --grant production:reader
 

Kinds are ci, deploy, and access. They label intended use; effective access comes from the environment grants. Automation grants accept only reader or writer.

Store the token

The command returns a credential token and writes its public device and grant records under .ghostable/. The token embeds that automation identity's private keys, is shown only once, cannot be recovered from the committed records, and has no built-in expiration. Store it immediately in the CI or deployment platform's encrypted secret store as GHOSTABLE_CI_TOKEN, then commit the repository changes.

Use the credential

Ghostable automatically loads the token from the environment:

POSIX shells
$ export GHOSTABLE_CI_TOKEN="<secret supplied by platform>"
$ ghostable validate --env staging --json
$ ghostable deploy production --dry-run --json
 
PowerShell
$ $env:GHOSTABLE_CI_TOKEN = "<secret supplied by platform>"
$ ghostable validate --env staging --json
$ ghostable deploy production --dry-run --json
 

Automation credentials bypass local biometric or user-presence prompts because no user session exists. Their security therefore depends on token storage, runner isolation, and narrow grants.

Scope and permissions

  • Use reader for validation, tests, process injection, and deployments that only read Ghostable state.
  • Use writer only when the job must commit new encrypted values or metadata.
  • Create separate credentials for CI and production deployment so either one can be revoked independently.
  • Do not grant production to preview or pull-request jobs.

Revoke and replace

Automation credentials appear as devices in access views. Revoke the credential's device ID and commit the signed policy change:

Revoke automation
$ ghostable access list --full
$ ghostable access revoke --device-id <credential-device-id> --env all
 

Revocation permanently disables that automation identity and automatically rotates affected environment keys. Delete the old platform secret, create and store a new credential, commit its public records, and update the job before removing the old secret. If compromise is possible, also rotate any database passwords, API keys, or provider credentials the automation identity could have decrypted; environment-key rotation only protects future Ghostable ciphertext.

CLI 3.x introduction Documentation
Installation Documentation
Start a new project Getting Started
Adopt an existing project Getting Started
Onboard a team member Getting Started
Repository and storage Core Concepts
Environments Core Concepts
Variables and promotions Core Concepts
Access and devices Core Concepts
Daily development workflow Workflows
Review and secret scanning Workflows
Hygiene and rotation Workflows
Automation credentials Automation & CI
Continuous integration Automation & CI
Deployments Automation & CI
Validation Reference
Command reference Reference
Configuration Reference
Security Reference
Backups & Offline Reference
Agent integration Reference
Troubleshooting Reference
Ghostable Desktop overview Desktop
Installation Desktop
Projects and setup Desktop
Interface tour Desktop
Environments and variables Desktop
Local environment files Desktop
Validation and review Desktop
Activity Desktop
Access and automation Desktop
Project settings Desktop
Application settings Desktop
Licensing and updates Desktop
Security and storage Desktop
Troubleshooting Desktop
No results found