Prerequisites
- The paste scan and exact-match masking of secrets CloudThinker holds are always on, for everyone who can chat. There’s nothing to turn on.
- Masking of secret formats you never saved follows the API keys and Cloud credentials rows in Guardrails. Both are on by default, but a workspace Admin can turn them Off unless an organization Admin locks them.
- To save a caught secret as a credential: the Admin workspace role. Developers can still redact or keep the text.
What’s protected, and where
What the model sees
The model gets your message after the paste scan, and agent tool output after placeholders replace secrets and protected identifiers. It never gets the real value behind a placeholder.Handle a secret you pasted
Say you paste a message that includes a live key:1
Send the message
Press Enter as usual. The message doesn’t send. The Review detected secrets dialog opens and lists each value it found.
2
Check each item
For a false positive, such as an example string, click Mark as not a secret on its row. That text stays as you wrote it, and it sends as typed, so only mark text you’re sure isn’t a real secret. If you’re an Admin, each row also shows the credential key name it will be saved under. Edit it if needed.
3
Choose what happens to the rest
With Save secrets, the example message sends as:
$BILLING_API_KEY gets the real value when it runs. The model and the chat only see the name.Success state: the message sends with a $KEY name or [sensitive data removed] where each flagged value was. An item you leave flagged can only be saved or redacted. An item you mark as not a secret sends as typed, so marking a real secret that way puts it in the conversation.$ in the chat box and pick it from the list. Other members type the name in full, such as $BILLING_API_KEY. See Use a credential in chat.
Read a placeholder in agent output
When an agent’s work would show a secret (one CloudThinker holds, or one that matches a Guardrails credential rule) or a protected identifier, you see a placeholder instead.- The same value gets the same placeholder within a conversation, so you and the agent can still tell that two references point to one secret. In another conversation, the same value gets a different placeholder.
- A placeholder can’t be turned back into the value, by you or by an agent. There’s no reveal button.
- The parts of a placeholder:
ct, thensecretorpii, the format version (v3), the category (such asopenai-api-key), and an ID. The ID is a keyed HMAC-SHA256 value that mixes in the conversation, so it can’t be brute-forced back to a short password without CloudThinker’s key. - Identifier placeholders may carry a hint in brackets, such as
[***-***-**89]for a phone number, so the output stays readable.
If you open a CloudThinker demo replay, secrets and identifiers show as
***REDACTED***. Customer workspaces can’t create replay links yet. See Sharing.Unsent drafts
Text you’ve typed but not sent stays in your browser, not on CloudThinker’s servers, so a reload doesn’t lose it. A conversation draft is kept for up to 24 hours. Logging out clears every saved draft.The secret scan runs when you send, not while you type. On a shared computer, log out instead of closing the tab if a draft might hold a secret.
Troubleshooting
The dialog flagged something that isn't a secret
The dialog flagged something that isn't a secret
Cause: the value looks like a key, for example a long random test string.Fix: click Mark as not a secret on that item. When every item is marked, click Keep in message and the message sends unchanged.
I don't see Save secrets
I don't see Save secrets
Cause: saving creates a shared workspace credential, which needs the Admin workspace role.Fix: choose Redact from message, then ask a workspace Admin to add the key in More → Workspace settings → Credentials. See Credentials.
An agent shows a placeholder where I need the real value
An agent shows a placeholder where I need the real value
Cause: the value matches a saved secret or a protected identifier.Fix: for a secret, reference it as
$KEY so commands get the value without it showing in chat. For an identifier, a workspace Admin can turn that protection Off in Admin Settings → Guardrails, unless an organization Admin has locked it.A secret got through the scan
A secret got through the scan
Cause: the scan looks for known credential formats. An unusual format can be missed.Fix:
- Rotate the secret at its provider. Assume the model saw it.
- Ask a workspace Admin to delete the conversation (Delete Conversation in the conversation’s title menu), so the raw value isn’t kept in its history.
- Save the new value as a credential and reference it as
$KEY.
ct:pii placeholder), not in the paste scan. For a secret format the scan should know, tell CloudThinker support.Next steps
Custom Guardrails
Choose which identifiers agents see as placeholders
Credentials
Save secrets once and reference them as $KEY