SETTINGS & DATA
Overview
All data is stored as plain JSON files on your machine. No cloud, no accounts, no telemetry. Your data never leaves your computer.
Local Scope
Per workspace — stored in .openpost/ at project root
Global Scope
Shared across all workspaces — stored in ~/.openpost/global/
Local Storage (.openpost/)
Located at the workspace root. Created automatically on first use. Per-project, workspace-specific data.
.openpost/
├── collections.json ← saved request collections
├── environments.json ← environment variables
├── history.json ← request/response history
├── snapshots.json ← response structure snapshots
├── cookies.json ← persistent cookie jar
├── session.json ← open tabs state for restore
├── config.json ← settings and preferences
├── mock-servers.json ← mock server configurations
└── graphql-schemas.json ← cached GraphQL schemas
Global Storage (~/.openpost/global/)
Located in the user home directory. Shared across ALL workspaces. Not committed to git (user-specific).
~/.openpost/global/
├── collections.json ← global collections (shared across workspaces)
├── environments.json ← global environments
├── history.json ← global request history
├── config.json ← settings, proxy profiles, license key,
│ vault providers, secret sets
└── vault.enc ← encrypted vault (AES-256-GCM)
File Formats
All files are plain JSON (except vault.enc which is encrypted JSON).
| File | Contents |
|---|---|
| collections.json | Array of Collection objects (requests, folders, auth, scripts) |
| environments.json | Array of Environment objects (key-value variable sets) |
| history.json | Array of HistoryEntry objects (request + response pairs) |
| session.json | Open tabs state for session restore on reopen |
| config.json | Settings, proxy profiles, active environment IDs |
| cookies.json | Array of CookieEntry objects (persistent cookie jar) |
| vault.enc | AES-256-GCM encrypted vault (secrets + certificates) |
See the Collection JSON Schema page for full type reference.
Git Workflow
Commit .openpost/ to share collections, environments, and mock servers with your team. Each developer gets the same API definitions.
✓ DO commit
collections.jsonenvironments.jsonmock-servers.jsonsnapshots.jsonconfig.json
✗ Consider .gitignore
session.json— personal tab statecookies.json— personal session cookieshistory.json— optional (can be large)
Recommended .gitignore additions:
.openpost/session.json
.openpost/cookies.json
vault.enc is encrypted (global-only, not in your project). Secret values are automatically scrubbed from history before writing to disk.
No-Workspace Mode
When VS Code opens without a workspace folder, local storage is unavailable.
.openpost/ directory — local storage unavailableYou can still send requests and use global collections — just no per-workspace persistence.
Cross-Window Sync
Global storage changes sync across VS Code windows automatically via file system watcher.
FileSystemWatcher on ~/.openpost/global/. When any file changes on disk (from another VS Code window or external editor), the watcher triggers a reload and pushes updated data to the webview.