917ef337b2
- CLAUDE.md (brain repo meta) - README.md (root quick start) - CHANGELOG.md (brain-v1.0 release notes) - manifest.json (sha256 + min-python + required tools) - docs/architecture.md (copy of Liderra spec) - docs/how-to-use-brain.md - docs/how-to-experiment.md - docs/secrets-and-tokens.md - docs/consumer-projects.md - user-level-files/README.md - project-files/README.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
56 lines
1.9 KiB
Markdown
56 lines
1.9 KiB
Markdown
# Secrets and Tokens
|
||
|
||
## Список секретов
|
||
|
||
| Секрет | Где используется | Откуда взять |
|
||
|---|---|---|
|
||
| `MAGIC_API_KEY` | `~/.claude.json:mcpServers.magic.args` | 21st.dev → settings → API keys |
|
||
| `GITHUB_TOKEN` | `.mcp.json:mcpServers.github.headers` | GitHub → settings → Personal Access Tokens (fine-grained, repo+read:org) |
|
||
|
||
## Где НЕ хранить
|
||
|
||
- В brain repo (даже private)
|
||
- В commit history
|
||
- В CLAUDE.md / docs / README
|
||
- В скриншотах сессий
|
||
|
||
## Где хранить
|
||
|
||
- В KeePass / Bitwarden / 1Password
|
||
- Как env-vars в shell profile (для `GITHUB_TOKEN`)
|
||
- Inline в `~/.claude.json` локально (после resolve через `setup-secrets.sh`)
|
||
|
||
## Workflow при первой установке
|
||
|
||
```bash
|
||
./scripts/install.sh --target=$HOME/.claude --version=brain-v1.0
|
||
# Скрипт промптит:
|
||
# > Enter value for <<MAGIC_API_KEY>> (or empty to skip):
|
||
# Вводишь значение из KeePass
|
||
```
|
||
|
||
## Workflow в CI
|
||
|
||
```bash
|
||
./scripts/install.sh --target=$HOME/.claude --version=brain-v1.0 \
|
||
--skip-secrets
|
||
# Placeholder'ы остаются; .brain-deferred-secrets.txt создан
|
||
```
|
||
|
||
Затем — resolve через GH Actions secret + `setup-secrets.sh --secret=MAGIC_API_KEY=$MAGIC_API_KEY ...`.
|
||
|
||
## Ротация при компрометации
|
||
|
||
1. На 21st.dev: revoke + создать новый
|
||
2. Обновить локально через `setup-secrets.sh --secret=MAGIC_API_KEY=newvalue ~/.claude.json`
|
||
3. Никаких изменений в brain repo не нужно — placeholder остаётся
|
||
|
||
## gitleaks scan
|
||
|
||
В brain repo — pre-commit hook и CI workflow проверяют:
|
||
```bash
|
||
gitleaks detect --source=. --no-git
|
||
```
|
||
|
||
Если 0 findings — OK. Любой finding — **немедленный фикс** (mask API_KEY, force-push, ротация key).
|