Penv Cloud
Start free
Docs
Referencesince cloud@2026-09-10

Projects and environments

Console reference for projects, environments, the per-project Access page and an environment's Settings tab, with plan limits and required permissions.

Path: Projects

A project groups your deploy targets; an environment is one target and holds its keys (Environments and precedence).

Project list

/projects lists every project in your workspace: name, environments, creation date. On a plan with a project limit, the header and Plan allowance show how many you use. At the limit, New Project becomes an upgrade link for an owner or billing admin; we enforce the limit on the write.

Project page

/projects/[projectId] has two tabs, Environments and Access (Access only if you can read it).

Environments shows four figures (environments against your plan's limit, keys across all environments, the last write and where, the creation date) and a card per environment with its key count and last write. The counts come from version metadata; opening the page reads no value.

Header: New Environment (an upgrade link at your plan's limit) and the project menu: rename, delete, export an environment's values. Each card's menu: open, compare, export values, duplicate, activity, rename, delete.

Access page

/projects/[projectId]/access lists every grant on the project and its environments, grouped into Whole project and One environment: person, role, scope. Grant here to give someone an environment they do not reach at the workspace level; there is no separate production unlock.

Grant Access opens the form beside the list: member, role, and the project or one environment. The role list only offers roles whose permissions you hold at this project; we re-check every grant. Scope rules: Roles and permissions.

Environment settings

/projects/[projectId]/env/[environmentId]/settings, the Settings tab beside Parameters. Links to the old ?tab=settings address land here.

SwitchWhat it doesDetails
Write-onlyNobody views values here; deploys and CI still read themWrite-only environments
Require approvalA second person approves each change a person makes hereChange requests
Serve dynamic credentials over the APILets a machine identity mint credentials for itself. Shown once the environment holds a dynamic keyDynamic engines

Manage environment holds Rename, Duplicate (a new environment seeded from this one) and Delete Environment, the same dialogs as the environment menu.

CLI equivalents

Console actionCommand (penv project, penv env)
Create a projectpenv project new
List projectspenv project ls
Create an environmentpenv env new
List environmentspenv env ls

When penv push creates a project, we write the same project.created entry as the console, carrying the agent session that requested it.

Required permissions

Full matrix: Roles and permissions. Renaming or deleting an environment, copying values into a duplicate, and turning off write-only or require approval ask for step-up.

ActionPermissionAudit entry
Open the project listproject:readnone
Create a projectproject:createproject.created
Create an environmentenvironment:create on the projectenvironment.created
Open the Access pagemember:read on the projectnone
Grant a rolemember:role_assign at the target scoperole.assigned
Revoke a grantmember:role_assign at that scoperole.unassigned
Open an environment's Settings tabsecret:read on the environmentnone
Turn write-only on or offenvironment:update on the environmentenvironment.write_only_enabled, environment.write_only_disabled
Turn require approval on or offenvironment:update on the environmentenvironment.approval_required, environment.approval_not_required
Serve dynamic credentials over the APIdynamic:configure on the orgintegration.lease_api_changed
Duplicate an environmentenvironment:create and secret:write on the project, secret:read on the sourceenvironment.created, with duplicatedFrom
Duplicate with its valuesthe above, plus secret:reveal on the sourcealso secret.read and secret.write per copied value
Rename an environmentenvironment:update on the environmentenvironment.renamed
Delete an environmentenvironment:delete on the environmentenvironment.deleted

role.assigned and role.unassigned are absent from the Audit Log action filter.

Next: Parameters.