Workspace & storage format

The git-friendly flat-file layout — one request per YAML file.

A workspace is a regular folder. Its on-disk structure is the tree: there is no separate collection wrapper, so you can organise, move, and version requests with ordinary files and git.

Flat-file layout

Impostor saves each request as an individual <slug>.request.yaml file. The file name is automatically slugified from the request’s display name to ensure compatibility across file systems.

You can freely nest requests inside standard folders. Any folder can contain an optional settings.yaml file, which defines folder-scoped variables and authentication settings that are inherited by all child requests.

In the editor, each sub-tab is marked with a filled dot when the request or folder sets that property itself and a hollow ring when it only inherits one, with the source named in the tab’s tooltip; opening the tab shows a read-only panel with the inherited value. Folders inherit from their parents the same way requests do, so a nested folder shows what it picks up from above.

Environments and secrets

Environments are stored as YAML files within the hidden .env directory. Local-only data, such as your run history, is kept in the .impostor directory and is automatically ignored by git. Before saving, Impostor automatically redacts sensitive secrets from the run history to protect your credentials.

Secrets never appear in workspace files — the YAML holds only opaque placeholder references. The values live in an encrypted vault in the app’s own data directory (XChaCha20-Poly1305), and the vault’s master key is the single entry Impostor keeps in your OS keychain (macOS Keychain / Windows Credential Manager).

Collaboration

Because the workspace is just a directory of text files, you can use standard git workflows to review diffs, create branches, and share your workspace with your team, entirely avoiding complex proprietary sync servers.

See it in practice

The support repo contains a complete mock-workspace/ you can browse on disk or open in Impostor — workspace and folder settings.yaml, .env environments, and one *.request.yaml per request — laid out exactly as described above.