> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Protection

> Learn how CloudThinker detects pasted secrets, keeps credential values out of agent output, and scrubs publicly shared pages

CloudThinker assumes a secret will eventually be pasted into a chat or printed by a tool, and protects both directions: what you send to agents, and what agents show back to you and to anyone you share with. This page describes the behavior you will see; storing secrets deliberately is covered in [Credentials](/guide/credentials).

## Why data protection

* **Secrets stay out of transcripts.** A pasted key is caught before the message sends, not after it is stored.
* **Storing a secret is always explicit.** Nothing is saved as a workspace credential — a stored secret agents can use — without your confirmation.
* **Agent output is scrubbed.** Known credential values are replaced with placeholders before they reach the screen.
* **Public pages get a second pass.** A shared conversation is scanned again before an outside viewer sees it.

## When you paste a secret

When you send a message, CloudThinker scans it for credential-shaped values — API keys, tokens, passwords, connection strings. Long pasted text is scanned the same way before it is attached. When something is detected, a **Review detected secrets** dialog opens and the message waits; nothing is sent until you decide.

For each detected item you choose one of three outcomes:

| Choice                   | What happens                                                                                                                                                              |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Save secrets**         | The value is stored as a workspace [credential](/guide/credentials) under the key you confirm, and your message is rewritten to reference `$KEY` instead of the raw value |
| **Redact from message**  | The value is replaced with `[sensitive data removed]` and the message sends without it                                                                                    |
| **Mark as not a secret** | The item is treated as a false positive and kept in the message as written                                                                                                |

Saving requires permission to edit workspace settings — the **Admin** [workspace role](/guide/workspace-users). Everyone else can redact or mark false positives. Once a secret is saved, point agents at it with the `$` picker — see [Reference a credential in a prompt](/guide/credentials#reference-a-credential-in-a-prompt).

## What agents can reveal

When an agent's work would surface a known secret value — a connection credential, a workspace credential, or a value you saved from chat — the value is replaced with an irreversible placeholder that looks like `ct:secret:v2:…` before it appears anywhere: in chat, in stored output, or in logs.

* The same value gets the same placeholder within a conversation, so an agent can still tell that two references point at one secret.
* A placeholder cannot be converted back to the value, by you or by an agent. To change the secret itself, update it in [Connections](/guide/connections/overview) or [Credentials](/guide/credentials).
* Detected personal identifiers are handled the same way, with placeholders that begin `ct:pii:`.

## Publicly shared conversations

A conversation served as a public replay — see [Sharing](/guide/sharing) — passes one more scan before any viewer sees it. Detected secrets and personal data in message text, tool activity, plans, and attachment names are replaced with `***REDACTED***`. If a message cannot be scanned cleanly, its content is withheld entirely rather than shown unscanned.

## Unsent drafts

Text you have typed but not sent is kept in your browser — not on CloudThinker's servers — for up to 24 hours so a page reload does not lose it. It is cleared when you log out.

<Note>
  Secret detection runs when you send, not while you type. On a shared computer, log out instead of just closing the tab if a draft might hold a secret — logging out clears every saved draft.
</Note>

## Related

<CardGroup cols={2}>
  <Card title="Credentials" icon="vault" href="/guide/credentials">
    Store workspace secrets deliberately and reference them with \$KEY
  </Card>

  <Card title="Sharing" icon="share-nodes" href="/guide/sharing">
    Public share links, what viewers see, and how to revoke access
  </Card>

  <Card title="Audit Logs" icon="clipboard-list" href="/guide/security/audit-logs">
    Review who created, changed, or deleted each credential — by key name, never by value
  </Card>

  <Card title="Security & Authentication" icon="lock" href="/guide/security/overview">
    MFA, SSO, and role-based access control for your organization
  </Card>
</CardGroup>
