@giwonn/claude-daily-review 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/README.ko.md +34 -0
- package/README.md +35 -0
- package/commands/daily-review-setup.md +20 -0
- package/docs/superpowers/plans/2026-03-30-secret-redaction.md +1042 -0
- package/docs/superpowers/specs/2026-03-30-secret-redaction-design.md +321 -0
- package/hooks/on-stop.mjs +2 -1
- package/hooks/recover-sessions.mjs +3 -1
- package/lib/config.mjs +3 -0
- package/lib/raw-logger.mjs +8 -4
- package/lib/sanitizer.mjs +184 -0
- package/lib/sanitizer.test.mjs +333 -0
- package/lib/types.d.ts +5 -0
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -119,6 +119,9 @@ daily-review/
|
|
|
119
119
|
"role": "직무",
|
|
120
120
|
"team": "팀명",
|
|
121
121
|
"context": "하는 일 한 줄 설명"
|
|
122
|
+
},
|
|
123
|
+
"privacy": {
|
|
124
|
+
"redactSecrets": true
|
|
122
125
|
}
|
|
123
126
|
}
|
|
124
127
|
```
|
|
@@ -149,10 +152,41 @@ daily-review/
|
|
|
149
152
|
"role": "직무",
|
|
150
153
|
"team": "팀명",
|
|
151
154
|
"context": "하는 일 한 줄 설명"
|
|
155
|
+
},
|
|
156
|
+
"privacy": {
|
|
157
|
+
"redactSecrets": true
|
|
152
158
|
}
|
|
153
159
|
}
|
|
154
160
|
```
|
|
155
161
|
|
|
162
|
+
## 보안 및 개인정보
|
|
163
|
+
|
|
164
|
+
### 자동 수집되는 정보
|
|
165
|
+
|
|
166
|
+
이 플러그인은 Claude Code와의 **모든 대화 내용**을 자동으로 캡처하여 저장합니다:
|
|
167
|
+
- 사용자 메시지 및 AI 응답 전문
|
|
168
|
+
- 작업 디렉토리 경로 및 프로젝트명
|
|
169
|
+
- Git 커밋 메시지, 브랜치명, 리모트 URL
|
|
170
|
+
|
|
171
|
+
### 회사/조직 내 사용 시 주의사항
|
|
172
|
+
|
|
173
|
+
회사 업무에 이 플러그인을 사용하면, 다음 정보가 저장소에 기록될 수 있습니다:
|
|
174
|
+
|
|
175
|
+
- 소스 코드 및 비즈니스 로직 설명
|
|
176
|
+
- 내부 시스템/서비스 이름 및 아키텍처
|
|
177
|
+
- 동료 이름, 고객 정보, 프로젝트 세부사항
|
|
178
|
+
- 내부 URL, IP 주소, 인프라 구성 정보
|
|
179
|
+
|
|
180
|
+
**이러한 정보의 관리 책임은 전적으로 사용자에게 있습니다.** 사용 전 소속 조직의 보안 정책을 확인하시기 바랍니다.
|
|
181
|
+
|
|
182
|
+
### 시크릿 자동 마스킹
|
|
183
|
+
|
|
184
|
+
API 키, 토큰, 비밀번호 등 알려진 시크릿 패턴은 저장 전에 자동으로 `[REDACTED]` 처리됩니다. 단, 이는 best-effort 방식이며 **모든 민감 정보의 완전한 차단을 보장하지 않습니다.**
|
|
185
|
+
|
|
186
|
+
### GitHub 저장소 사용 시
|
|
187
|
+
|
|
188
|
+
GitHub에 회고를 저장하는 경우, **반드시 private 저장소를 사용하세요.** public 저장소에 저장할 경우 대화 내용과 회고 파일이 인터넷에 공개됩니다. 시크릿 마스킹이 모든 경우를 커버하지 못하므로, private 저장소 유지는 가장 기본적인 보안 조치입니다.
|
|
189
|
+
|
|
156
190
|
## 라이선스
|
|
157
191
|
|
|
158
192
|
MIT
|
package/README.md
CHANGED
|
@@ -121,6 +121,9 @@ Config is stored at `$CLAUDE_PLUGIN_DATA/config.json`.
|
|
|
121
121
|
"role": "Your Role",
|
|
122
122
|
"team": "Your Team",
|
|
123
123
|
"context": "What you do in one line"
|
|
124
|
+
},
|
|
125
|
+
"privacy": {
|
|
126
|
+
"redactSecrets": true
|
|
124
127
|
}
|
|
125
128
|
}
|
|
126
129
|
```
|
|
@@ -151,10 +154,42 @@ Config is stored at `$CLAUDE_PLUGIN_DATA/config.json`.
|
|
|
151
154
|
"role": "Your Role",
|
|
152
155
|
"team": "Your Team",
|
|
153
156
|
"context": "What you do in one line"
|
|
157
|
+
},
|
|
158
|
+
"privacy": {
|
|
159
|
+
"redactSecrets": true
|
|
154
160
|
}
|
|
155
161
|
}
|
|
156
162
|
```
|
|
157
163
|
|
|
164
|
+
## Security & Privacy
|
|
165
|
+
|
|
166
|
+
### What Gets Collected
|
|
167
|
+
|
|
168
|
+
This plugin automatically captures and stores **all conversations** with Claude Code:
|
|
169
|
+
- Full user messages and AI responses
|
|
170
|
+
- Working directory paths and project names
|
|
171
|
+
- Git commit messages, branch names, and remote URLs
|
|
172
|
+
|
|
173
|
+
### Corporate / Organizational Use
|
|
174
|
+
|
|
175
|
+
When using this plugin for work, the following may be recorded:
|
|
176
|
+
|
|
177
|
+
- Source code and business logic descriptions
|
|
178
|
+
- Internal system/service names and architecture details
|
|
179
|
+
- Colleague names, client information, and project specifics
|
|
180
|
+
- Internal URLs, IP addresses, and infrastructure configurations
|
|
181
|
+
|
|
182
|
+
**You are solely responsible for managing this information.**
|
|
183
|
+
Please review your organization's security policies before use.
|
|
184
|
+
|
|
185
|
+
### Automatic Secret Redaction
|
|
186
|
+
|
|
187
|
+
Known secret patterns (API keys, tokens, passwords, etc.) are automatically redacted to `[REDACTED]` before storage. However, this is a best-effort mechanism and **does not guarantee complete protection of all sensitive data.**
|
|
188
|
+
|
|
189
|
+
### GitHub Storage
|
|
190
|
+
|
|
191
|
+
If storing reviews on GitHub, **always use a private repository.** Storing to a public repository exposes your conversations and reviews to the internet. Since secret redaction cannot cover all cases, keeping the repository private is the most fundamental security measure.
|
|
192
|
+
|
|
158
193
|
## License
|
|
159
194
|
|
|
160
195
|
MIT
|
|
@@ -78,6 +78,26 @@ Ask using AskUserQuestion:
|
|
|
78
78
|
If `gh` is not available, tell the user to create the repo at https://github.com/new and then provide the `owner/repo`.
|
|
79
79
|
- **Existing:** Ask for the repository in `owner/repo` format. Parse into `owner` and `repo`.
|
|
80
80
|
|
|
81
|
+
After parsing owner/repo, check if the repository is public:
|
|
82
|
+
```bash
|
|
83
|
+
MSYS_NO_PATHCONV=1 gh api "repos/{owner}/{repo}" --jq '.private'
|
|
84
|
+
```
|
|
85
|
+
If the result is `false` (public repository), warn the user using AskUserQuestion:
|
|
86
|
+
- question: "⚠️ 이 저장소는 **public**입니다. 대화 내용과 회고 파일이 인터넷에 공개됩니다. private 저장소 사용을 강력히 권장합니다."
|
|
87
|
+
- options:
|
|
88
|
+
1. label: "private으로 변경 후 계속", description: "저장소를 비공개로 변경합니다"
|
|
89
|
+
2. label: "그대로 사용 (위험 인지)", description: "public 상태로 계속 진행합니다"
|
|
90
|
+
3. label: "다른 저장소 선택", description: "다른 저장소를 지정합니다"
|
|
91
|
+
|
|
92
|
+
- "private으로 변경 후 계속":
|
|
93
|
+
```bash
|
|
94
|
+
MSYS_NO_PATHCONV=1 gh api "repos/{owner}/{repo}" -X PATCH -f private=true
|
|
95
|
+
```
|
|
96
|
+
If successful: "저장소를 private으로 변경했습니다." and continue.
|
|
97
|
+
If failed: "권한이 없어 변경할 수 없습니다. 저장소 관리자에게 요청하세요." and ask again.
|
|
98
|
+
- "그대로 사용 (위험 인지)": continue with the public repo.
|
|
99
|
+
- "다른 저장소 선택": go back to 1b repo selection.
|
|
100
|
+
|
|
81
101
|
**1c. Check for shared config in repo:**
|
|
82
102
|
|
|
83
103
|
After repo is selected/created, **save a minimal config first** so `storage-cli.mjs` can connect to the repo:
|