confidant
Secure secret handoff from human to AI.
Installation
npx clawhub@latest install confidantView the full skill documentation and source below.
Documentation
Confidant - Secure Secret Handoff
Confidant enables secure secret sharing without exposing sensitive data in chat logs. It supports multiple flows depending on who needs to send and receive secrets.
Key principle: Whoever needs to RECEIVE the secret runs serve-request. Whoever needs to SEND uses fill (or the browser form).
Flows
1. User-to-Agent (User sends secret to AI)
When to use: You need a secret from the user (API key, password, token).
How it works:
serve-request to create a URLYour command:
npx @aiconnect/confidant serve-request --label "<description>"
Example conversation:
AI: I need your API key to continue. Let me create a secure link...>
(AI executes: npx @aiconnect/confidant serve-request --label "API Key")
>
AI: Open this link in your browser and enter your API key:
>> > *(User opens URL in browser, submits the secret)* > > **AI:** Got your API key securely! --- ### 2. Agent-to-User (AI sends secret to User) **When to use:** You need to securely deliver a secret to the user (generated password, API key, credential). **How it works:** 1. User runsserve-requestto create a URL (they will receive) 2. User shares the URL with you 3. You executefillto send the secret 4. User sees the secret appear in their terminal **Your command:** __CODE_BLOCK_1__ **Example conversation:** > **AI:** I generated your new password. To receive it securely, run: > > __CODE_BLOCK_2__ > > Send me the URL that appears. > > **User:**
*(AI executes:npx @aiconnect/confidant fill "" --secret "...")* > > **AI:** Done! The password appeared in your terminal. --- ### 3. Agent-to-Agent (Automated secret sharing) **When to use:** Automated credential distribution between systems/agents. **How it works:** 1. Agent A (receiver) runs:npx @aiconnect/confidant serve-request --label "DB Credentials"2. Agent A shares the URL with Agent B (via API, orchestrator, etc.) 3. Agent B (sender) submits:npx @aiconnect/confidant fill "" --secret ""4. Agent A receives the secret **Secure input (avoid shell history):** __CODE_BLOCK_3__ --- ## Command Reference ### Create request and wait for secret __CODE_BLOCK_4__ ### Submit secret to existing request __CODE_BLOCK_5__ ### Output options ---quiet— Minimal output (just URLs and secret) ---json` — JSON output for parsing/automation
Important Rules
- NEVER ask users to paste secrets in chat — always use Confidant
- NEVER reveal received secrets in chat — not even partially
- Secrets auto-expire after 24h if not used
- One-time read, then deleted
- If user is remote, they may need tunneling (ngrok, Tailscale, etc.)
After Receiving/Sending
- Confirm completion: "Got the secret!" or "Sent! Check your terminal."
- Use the secret silently for the intended task
- Never echo or log the secret value