Keyit

Revisions

Environment history without turning history into a secret dump.

Every push creates a revision. Revisions give teams a chain to sync against instead of a floating file passed around by habit.

keyit revision list

keyit revision list development

Lists every encrypted revision this device has locally for one environment, oldest to newest. It reads local metadata; it does not decrypt payloads.

Revisions for development (kve_...) in project kvp_...

Revision kvr_...
  parent:     none
  author:     kvd_...
  created at: 1755878500
  summary:    Initial development env

Revision kvr_...
  parent:     kvr_...
  author:     kvd_...
  created at: 1755878600
  summary:    rotate api key

What's in a revision

Each entry is signed metadata: revision ID, parent revision (none for the first one), authoring device, timestamp, and optional summary. The dotenv contents live in a separate encrypted payload. This command does not need to touch it.

Summaries are visible metadata

Same rule as push --summary: a revision summary is plaintext metadata. Keep it descriptive, not revealing. "rotated api key" is fine. The key is not.

Environment scoping

Revision history is per environment, not per project. development and production have independent chains, and keyit revision list always requires an environment label or kve_... ID.

Next

On this page