Docs · explanation

Data handling

What denv stores, what it never sees, and where your environments' data lives.

denv holds metadata, versions and verdicts. It never holds your environments' data.

Snapshots live on the disks of the target that took them: your machines, machines in your cloud account, or your sandbox provider's storage. The control plane records that a snapshot exists and what version it belongs to, not its contents. A fork is made on the same host as its parent snapshot.

The sidecar on your machines opens one outbound connection and never listens. Commands flow from the control plane to the sidecar; the sidecar never dials a host of yours on denv's behalf. Secrets a command needs reach the host inside that command and are not stored on denv in clear.

Environments, verifiers and rollouts are visible only to the team that owns them. API keys are team-scoped, can be revoked, and are stored as hashes. Sign-in is through GitHub; denv keeps your GitHub id, login, name and email.

Egress is denied by default for the rl-environment kind and proven by a probe before each episode. Allowing egress is an explicit setting in the compose file and is visible in every deployment record.

Nothing in your environments is trained on or licensed without a signed agreement. Labs that need the control plane inside their own network can run it there; it is a single container with a database.