Skip to content
Ask Questions

Storage

piespector stores local state in a per-user app data directory.

  • macOS: ~/Library/Application Support/piespector/
  • Linux: $XDG_DATA_HOME/piespector/ or ~/.local/share/piespector/
  • Windows: %APPDATA%\\piespector\\
  • collections/_workspace.json
  • collections/*.json
  • env/_workspace.json
  • env/*.json
  • .piespector.history.jsonl
  • .piespector.log

Collections and env sets are stored as directory-based workspaces:

  • collections/_workspace.json stores collection order
  • each collection gets its own JSON file, including nested folders and requests
  • env/_workspace.json stores env order and the selected env
  • each env set gets its own JSON file, including value, description, and sensitive

History stays in a single JSON Lines file.

History entries are written locally after requests are sent.

Current history storage behavior includes:

  • sensitive headers are redacted before they are written
  • large request and response bodies are truncated before storage
  • replaying history creates a temporary request, so redacted secrets cannot be recovered from history alone

Current builds can still read older flat files and migrate them forward.

Legacy sources include:

  • app-data flat files such as .piespector.requests.json and .piespector.env.json
  • current-working-directory legacy files with the same names

If the directory-based workspace does not exist yet, piespector loads from those legacy files and rewrites the data into the current directory layout.

This storage layout is separate from import/export files:

  • Home import/export uses standalone workspace JSON files
  • Env import/export uses key/value-oriented files such as .env

Env import/export is simpler than on-disk app storage: it carries values, but not full env metadata such as description and sensitive.