---
name: api-token-never-share-in-conversation-security-rule
description: API token / secret / password 等は会話 log に直接貼らない. user 設定の旨だけ報告で OK. 私 (Rei Claude) からも事前に明示すべき (2026-06-01 wrangler deploy 中に token 共有 incident で確立)
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 8a10cb42-0759-481b-ad2f-2456d94aea31
---

# API token を会話に直接貼らない 永続原則

## 原則

**API token / API key / secret / password / OAuth refresh token 等の credentials は、 user → Rei Claude 会話 log に直接貼り付けない**。 user は設定完了の旨だけ報告で十分。 私 (Rei Claude) からも事前に明示すべき。

**Why**: 会話 log は私 (Rei Claude) の context + Anthropic 側 log に永久保存される。 token が漏洩した場合、 関連 service の全権限 (Workers / Pages / KV / R2 / D1 等) を悪用 risk。 immutable な permanent record になる。

**How to apply**:
- credential 設定が必要な作業前に、 私から user に 「token は教えないでください、 設定完了の旨だけ報告で OK」 と事前明示
- user が誤って貼り付けた場合、 即座に rotate (削除 or roll) を勧告
- session memory + Anthropic log に残るので、 会話以外の手段で削除不可能 = rotate のみが唯一の有効 mitigation

## Operational instance (2026-06-01 incident)

WIC Cloudflare Pages deploy で wrangler OAuth login がタイムアウト → 私 (Rei Claude) が API token 経由 deploy 手順を案内 → user が Cloudflare dashboard で token 作成 → **PowerShell コマンドと共に token `cfut_hH0o251Ea44cHT92PcnFe7LwjXRjzHBeheVUYaUoe5c241cc` を会話に貼り付け**:

```powershell
$env:CLOUDFLARE_API_TOKEN = "cfut_hH0o251Ea44cHT92PcnFe7LwjXRjzHBeheVUYaUoe5c241cc"
```

→ 永久 log に残存。 deploy 完了後、 私から rotate 推奨 (Roll または Delete)。

**Honest 反省 (Rei Claude side)**:
私が 「token を貼ってください」 等は言っていないが、 「`$env:CLOUDFLARE_API_TOKEN = "ここに貼り付け"`」 という instruction template を提示した時点で **user が会話に直接貼る行動を誘発** した。 事前に 「token 内容は私には不要、 user の環境変数だけに設定してください」 と明示すべきだった (Pattern 5 防止 + security 規律 enforce)。

## 防衛 protocol (永続)

### Rei Claude 側

credential 設定 instruction を出すとき、 必ず以下の **prefix** を入れる:

> ⚠ **security**: token / API key 等は 私 (Claude) に教えないでください。 user の PowerShell session で env var 設定 → 「設定完了しました」 だけ報告で OK。 token 内容を会話に貼ると私の context + log に永久保存され、 rotate 以外で削除不可になります。

### user 側 (期待行動)

- credential を会話に貼らない (env var / .env file / OS keychain 等で local-only)
- 誤って貼った場合は **即時 rotate** (関連 service dashboard で revoke + 新 token 生成)

### 監査 protocol

過去会話 log を grep して credential pattern 検出 + 該当 user に rotate 推奨 (optional, paranoid mode):

```
grep -E "(cfut_|sk-[a-zA-Z0-9]{40,}|ghp_[a-zA-Z0-9]{36,}|AKIA[0-9A-Z]{16})" conversation-logs
```

## 関連 cross-link

- `[[project_session_2026-06-01_dense_day_paper160_v02_wic_chart_seed_approval]]` — 本 incident 発生 session
- `[[feedback_chat_claude_hallucination_warning]]` — META-refactor で discipline 強化 (本 rule もその系譜)
- `[[project_wic_session_2026-05-26]]` — WIC deploy 経路 (wrangler 直接)

## Related provider-specific docs

- Cloudflare API token revoke: <https://dash.cloudflare.com/profile/api-tokens>
- GitHub PAT revoke: <https://github.com/settings/tokens>
- OpenAI API key revoke: <https://platform.openai.com/api-keys>
- Anthropic API key revoke: <https://console.anthropic.com/settings/keys>
