Backups &amp; Offline | Ghostable CLI 3.x | Ghostable                              Menu

 Backups &amp; Offline

   Repository backup
-----------------

 Ghostable has no separate hosted vault to restore from. The Git repository is the durable copy of encrypted values, public devices, policy, access grants, environment keys, schema, hygiene configuration, and signed events. Protect it with the same remote redundancy and retention used for source code.

 A repository backup alone preserves ciphertext and history, but it cannot decrypt values without at least one still-authorized private device identity or automation credential.

 Identity recovery
-----------------

 Private device identities live outside Git. Maintain more than one owner device so the project is not dependent on a single laptop. If all authorized private identities and automation credentials are lost, public device records and encrypted repository state cannot reconstruct the missing private keys.

  Redundancy without key sharing

 Add a second owner through the normal device join and grant process. Do not solve recovery by copying one owner's private identity file to multiple people or committing it to a password-protected archive inside the repository.

 Env-file backups
----------------

 `env pull` merges by default and creates a timestamped `.ghostable-backup-` copy before overwriting an existing file. Disable that behavior only with `--no-backup`.

 Local `deploy` replaces its target by default and creates a backup only when `--backup` is passed. Dry runs never write a backup because they do not write the destination.

 Safe file writes     Copy

 ```
$ ghostable env pull --env default --file .env --dry-run
$ ghostable env pull --env default --file .env
$ ghostable deploy local production --file .env.production --backup

```

 Offline behavior
----------------

 Setup, encryption, decryption, validation, review, hygiene, local process injection, and repository state changes run locally and do not require a Ghostable service. Normal Git synchronization still requires access to your remote, and provider deployments require their provider CLI and network.

 Homebrew, npm, and release-archive installation or updating also require their distribution sources. Local protected access depends on the operating system's user-presence facility, not a Ghostable network call.

 Recovery exercises
------------------

1. Confirm the repository remote contains current `.ghostable/` state.
2. Verify at least two owner devices can run `ghostable access status`.
3. Test a read-only pull or process injection from a secondary device.
4. Review how CI and deploy tokens would be revoked and replaced.
5. Document the external systems that receive plaintext after decryption.

 Plaintext cleanup
-----------------

 Review and remove env files     Copy

 ```
$ ghostable env clean --dry-run
$ ghostable env clean

```

 Cleanup includes Ghostable-generated backup files in the project root. Preserve a backup outside the working tree only when policy requires it, and protect that plaintext copy independently from the encrypted repository.

    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
