@node9/proxy 1.11.0 → 1.11.2

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/README.md CHANGED
@@ -128,6 +128,7 @@ configure(agent_name="my-agent", policy="require_approval")
128
128
  - **SQL:** blocks `DELETE`/`UPDATE` without `WHERE`, `DROP TABLE`, `TRUNCATE`
129
129
  - **Shell:** blocks `curl | bash`, `sudo` commands
130
130
  - **DLP:** blocks AWS keys, GitHub tokens, Stripe keys, PEM private keys in any tool call argument
131
+ - **Response DLP:** background scanner reads Claude's JSONL history hourly and alerts you if a secret appears in Claude's _response text_ (not just tool args) — see [`node9 dlp`](#node9-dlp--response-secret-scanner)
131
132
  - **Auto-undo:** git snapshot before every AI file edit → `node9 undo` to revert
132
133
  - **Skills Pinning:** SHA-256 verification of agent skill files between sessions; quarantines on drift (AST 02 + AST 07 — supply chain & update drift)
133
134
 
@@ -166,6 +167,14 @@ node9 tail --all # include all projects
166
167
 
167
168
  Each line shows the tool name, a summary of its arguments, and the decision (allowed / blocked / DLP hit).
168
169
 
170
+ At startup, `tail` prints a one-line context summary:
171
+
172
+ ```
173
+ ctx: 34% (68k/200k out 2k · claude-sonnet-4-6)
174
+ ```
175
+
176
+ This shows how full the context window is, how many output tokens were generated, and which model is running. Color-coded: cyan < 50%, yellow 50–79%, red ≥ 80%.
177
+
169
178
  ### `node9 report` — security dashboard
170
179
 
171
180
  Run after a session to get a summary of what was allowed, blocked, DLP hits, cost, and daily activity:
@@ -193,8 +202,12 @@ $ node9 report --period 7d
193
202
  Apr 11 ██████████████████████░░░░░░░░ 617 139 blocked
194
203
  ```
195
204
 
205
+ The report also includes a **Tokens** section showing a breakdown of input, output, cache-write, and cache-read tokens with a cache hit-rate percentage — useful for spotting sessions that are burning tokens without getting cache savings.
206
+
196
207
  Periods: `today`, `7d` (default), `30d`, `month`. Cost data is read from `~/.claude/projects/` — no API calls, fully offline.
197
208
 
209
+ If the response DLP scanner found secrets during the period, the report shows a `⚠️ DLP ALERT` banner at the top and a dedicated **Response DLP** section listing each finding with the pattern name, a masked sample, and the project it came from.
210
+
198
211
  ### `node9 sessions` — session history
199
212
 
200
213
  See what your AI agent did across sessions — prompt, tool calls, cost, files modified, and whether a snapshot was taken. Useful when you hand off a task and come back to review what happened:
@@ -281,6 +294,45 @@ node9 scan --all # all time
281
294
  node9 scan --days 30 # custom window
282
295
  ```
283
296
 
297
+ ### `node9 dlp` — response secret scanner
298
+
299
+ Node9's tool-call DLP blocks secrets _before_ they leave your machine. But Claude can also write secrets into its **response text** — a curl example with a real token, a config snippet with a live key — and that text bypasses tool-call interception entirely.
300
+
301
+ The **response DLP scanner** runs as a background daemon. It reads Claude's JSONL conversation history incrementally (delta scan — only new bytes since the last check), looks for secret patterns in assistant response text, and fires a desktop notification the moment it finds one.
302
+
303
+ ```
304
+ ⚠️ node9 DLP alert
305
+ AWS Access Key found in Claude response text.
306
+ Sample: AKIA****MPLE — run: node9 dlp
307
+ ```
308
+
309
+ ```bash
310
+ node9 dlp # show all open findings with pattern, sample, project, date
311
+ node9 dlp resolve # acknowledge all current findings (clears the banner)
312
+ ```
313
+
314
+ The `node9 dlp` command shows a guided remediation workflow:
315
+
316
+ ```
317
+ 🔐 node9 dlp — secrets found in Claude response text
318
+
319
+ ⚠️ 1 open finding
320
+
321
+ These secrets were included in Claude's response text — NOT blocked.
322
+ Rotate each affected key immediately.
323
+
324
+ ● AWS Access Key ID Apr 14, 2026
325
+ Sample: AKIA****MPLE
326
+ Project: ~/node9
327
+
328
+ Next steps:
329
+ 1. Rotate any exposed keys shown above
330
+ 2. Run node9 dlp resolve to acknowledge
331
+ 3. Run node9 report for full audit history
332
+ ```
333
+
334
+ Findings are never re-shown after `node9 dlp resolve`. The scanner stores resolved keys in `~/.node9/dlp-resolved.json` so only genuinely new secrets surface.
335
+
284
336
  ---
285
337
 
286
338
  ## 📖 Full docs