Access & Devices

Core Concepts

Access & Devices

Manage human device identities, environment-scoped roles, signed access requests, and the repository changes required to grant or revoke access.

Device identities

A device is a project-scoped cryptographic identity, not a user account. Joining creates a signing key, encryption key, self-signed public record, and local private identity. Private material is never committed.

Join and inspect
$ ghostable access join --name "Sam Workstation"
$ ghostable access status
 

device is an alias for human-device operations; the broader access command also manages requests and automation credentials.

Inspect access

Access views
$ ghostable access list
$ ghostable access approvers --env production
$ ghostable access grants --env production
$ ghostable access matrix
 

The matrix is the quickest way to review effective roles by device and environment. Add --full only when complete device IDs are needed for an operation.

Requests and direct grants

A joining device can create a signed request that another authorized device reviews:

Request workflow
$ ghostable access requests create --env staging --role writer --reason "Joining release rotation"
$ ghostable access requests list
$ ghostable access requests approve --request-id <request-id> --reason "Approved by release owner"
 

For a direct grant, use access share with the target device ID, environment or all, and role.

Permission model

reader
Read and decrypt environment values.
writer
Reader permissions plus environment value changes.
grantor
Reader permissions plus access-grant authority for the environment.
owner
Read, write, grant, and owner authority across the project.

Grantor and writer are separate roles. A person who approves access does not automatically have permission to change values.

Revoke, leave, and delete

Remove access
$ ghostable access revoke --device-id <device-id> --env all
$ ghostable access leave
$ ghostable access delete --device-id <revoked-device-id>
 

Revoke permanently marks the target identity as revoked, removes the selected grants, and automatically rotates keys for the affected environments. The --env option selects which grants and keys change; it does not make the identity reusable elsewhere. Use --env all for offboarding or compromise. A revoked device must join again with a new identity before it can receive access.

Leave removes the current machine's local project access. Delete removes an already-revoked public device record. Neither environment-key rotation nor record deletion erases secrets already seen by that device or rotates the credentials those values represent. The last owner cannot leave or be revoked, preserving a path to project administration.

Local cleanup

Find identities whose registered projects no longer exist, then remove them after review:

Clean local identities
$ ghostable access cleanup --dry-run
$ ghostable access cleanup
 
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