KEY, TOKEN, SECRET or PASSWORD) and the value is 6 or more characters. Other values are masked only if they match a known secret format. See Values stay out of chat.
Credentials, connections, or BYOK?
CloudThinker keeps secrets in three places. Pick the one that matches what you’re storing.Prerequisites
- The Admin role in the workspace. Developers and Viewers see a “Credentials are restricted” card instead of the list. See workspace roles.
- One exception: the secure form an agent shows in chat (see How agents use credentials) doesn’t check the workspace role. Any member who can chat, Developers included, can submit it.
Add a credential
1
Open the Credentials page
In the sidebar, click More → Workspace settings, then Credentials. The list shows each credential’s key, description, who added it, and when it was last updated. Values are never shown.
2
Click Add Credential
Fill in the form:
3
Click Save
Success state: the credential appears in the list with its key and description. Agents get it on their next command.
The form rejects reserved keys. Cloud and Git access comes from Connections, and Cyber manages its own login keys.
- Any key starting with
AWS_,GOOGLE_,AZURE_,KUBECONFIG,GITHUB_TOKEN,GITLAB_TOKEN,BITBUCKET_TOKEN, orAPPSEC_RUN_GENERATOR_INSTRUCTIONS_ CYBER_AUTH,CYBER_AUTH_JSON,CYBER_COOKIE,APPSEC_AUTH,APPSEC_AUTH_JSON,APPSEC_COOKIE, and any key that starts with one of them followed by_
Import a .env file
Use this when you already keep secrets in a dotenv file. The file is parsed in your browser, and only the rows you select are sent.1
Open the import dialog
On More → Workspace settings → Credentials, click Import .env.
2
Add your file
Choose Paste and paste the contents, or choose Upload a file and pick a
.env, .env.local, or other .env.* file. One import takes a file of 64 KiB or smaller with at most 50 keys. Click Review credentials.3
Pick the rows to save
Rows are split into two groups:
Rows with a reserved key are marked “This key is managed by the platform.” and can’t be imported.
4
Click Import
The button shows how many rows you selected, for example Import 3.Success state: the imported keys appear in the list.
Use a credential in chat
Type$ in the chat box to open the credential picker, then pick a key. It’s inserted as $KEY, so you can point an agent at a secret without pasting it.
$ picker shows only for members who can manage credentials. See Commands and syntax for the other tokens you can type.
How agents use credentials
Edit or delete a credential
- Edit: click the pencil icon on the credential’s row (tooltip Edit credential). Change the description, or enter a new value to replace the secret. Leave the value blank to keep the stored secret. To rotate a secret, enter the new value here: commands pick it up from their next run.
- Rename: you can’t rename a key. Add the credential under the new key, update anything that uses the old name, then delete the old one.
- Delete: click the trash icon (tooltip Delete credential) and confirm. Every agent that reads this credential loses access on its next command. This can’t be undone.
Security
- Values are encrypted at rest with Fernet (AES with an HMAC integrity check) and are never sent back to the browser.
- On Scale, Scale Plus, and Enterprise, each create, update, and delete is recorded in Audit Logs under the Security category. Free and Team have no Audit Logs. The entry leaves out both the key name and the value, because more people can read audit logs than can manage credentials. To see which key changed, match the entry’s time against the Updated date on each row of the Credentials list.
Troubleshooting
The form says 'Uppercase letters, digits, and underscores only'
The form says 'Uppercase letters, digits, and underscores only'
The key has a lowercase letter, a dash, a space, or starts with a digit. Rename it, for example
stripe-key becomes STRIPE_KEY.The key is reserved ('uses reserved prefix')
The key is reserved ('uses reserved prefix')
The key is on the reserved list above, either as an exact name such as
CYBER_AUTH or by prefix such as AWS_. The message says “uses reserved prefix” in both cases. Add that access as a connection instead, or rename the key if it’s for a different service.'A credential named ... already exists'
'A credential named ... already exists'
Add Credential never overwrites. Edit the existing credential to change its value, or use Import .env and select the row under Already in this workspace.
I can't see the Credentials list or the $ picker
I can't see the Credentials list or the $ picker
Both need the workspace Admin role. Ask a workspace admin to add the secret, or to change your role.
Next steps
Connections
Give agents access to your cloud accounts, databases, and tools
Approvals
Decide which agent writes run alone and which wait for a person
Bring your own key
Run model inference on your own LLM provider keys
Audit Logs
See when credentials were created, changed, or deleted, and by whom