Access &amp; Devices | Ghostable CLI 3.x | Ghostable                              Menu

 Access &amp; Devices

   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     Copy

 ```
$ 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     Copy

 ```
$ 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     Copy

 ```
$ ghostable access requests create --env staging --role writer --reason "Joining release rotation"
$ ghostable access requests list
$ ghostable access requests approve --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     Copy

 ```
$ ghostable access revoke --device-id  --env all
$ ghostable access leave
$ ghostable access delete --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     Copy

 ```
$ ghostable access cleanup --dry-run
$ ghostable access cleanup

```

    On this page

    [ ![Ghostable](https://ghostable.dev/images/logo-dark.svg) ![Ghostable](https://ghostable.dev/images/logo-light.svg) ](https://ghostable.dev)

   CLI 3.x     [   CLI 3.x ](https://ghostable.dev/docs/3.x) [   Desktop ](https://ghostable.dev/docs/desktop)

  CLI 3.x introduction Documentation local first no login encrypted repository plaintext hosted service

  Installation Documentation brew homebrew npm npx linux windows PATH version update

  Start a new project Getting Started setup seed dotenv owner initialize

  Adopt an existing project Getting Started existing env import authoritative source adopt

  Onboard a team member Getting Started join request approve roles offboarding pull request

  Repository and storage Core Concepts .ghostable git conflict merge worktree private identity metadata

  Environments Core Concepts protected production preview staging push sync pull replace run mask-output

  Variables and promotions Core Concepts var promote copy context annotation key

  Access and devices Core Concepts identity reader writer grantor owner revoke rotate leave delete

  Daily development workflow Workflows pull diff validate review clean daily

  Review and secret scanning Workflows scan sarif github suppress secrets drift

  Hygiene and rotation Workflows rotation stale unused suppression environment key

  Automation credentials Automation &amp; CI GHOSTABLE\_CI\_TOKEN ci deploy credential powershell revoke replace

  Continuous integration Automation &amp; CI GitHub Actions fork pull request JSON stdout stderr exit codes mask-output

  Deployments Automation &amp; CI Forge Vapor Cloud provider CLI dry-run preserve remote keys temporary files

  Validation Reference schema required nullable regex min max different\_from

  Command reference Reference --help --json NO\_COLOR flags aliases exit code automation

  Configuration Reference ghostable.yaml activity mode auditEnvironments scan ignores deployTarget dotenv syntax

  Security Reference cryptography XChaCha20 Poly1305 HKDF user presence threat model

  Backups &amp; Offline Reference recovery offline restore clone key identity

  Agent integration Reference AGENTS.md capabilities allowlist coding agent

  Troubleshooting Reference no project found revoked identity stale policy user presence invalid CI token provider CLI git conflict diagnostics

  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
