diff --git a/devlog/_plan/260820_bug_pr_backlog_consolidation/100_release_audit.md b/devlog/_plan/260820_bug_pr_backlog_consolidation/100_release_audit.md index 12a5f9fcaf..f90fbc99a8 100644 --- a/devlog/_plan/260820_bug_pr_backlog_consolidation/100_release_audit.md +++ b/devlog/_plan/260820_bug_pr_backlog_consolidation/100_release_audit.md @@ -36,10 +36,15 @@ The sanitizer on that path is not sufficient, for two independent reasons — bo the shipped code, not reasoned about: ``` -"gpt-5.6-luna\nBearer sk-abc123def456ghi789jkl" -> "gpt-5.6-lunaBearer [REDACTED]" -"gpt-5.6-luna\nAIzaSyA1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6" -> unchanged, key intact +"\n" -> control stripped, value redacted +"\n" -> control stripped, value INTACT ``` +(Written as shapes rather than literals on purpose: `scripts/privacy-scan.ts` matches those +patterns wherever they appear, so pasting a real-looking transcript breaks the `gates` job for +every branch cut from `dev`. That is precisely what #2175 had to undo, and this record +reintroduced it — the scanner does not care that a credential is fake.) + 1. Control characters are stripped **before** redaction, so the newline that separated marker from credential is gone by the time the `Bearer` rule looks for a word boundary. 2. The runtime redactor is a deny-list. An `AIza`-shaped Google key has no rule and survives. @@ -191,4 +196,3 @@ this closeout resolves them; they need a product decision, not a patch. Release execution remains unauthorized: no `scripts/release.ts`, no publish, no tag, no change to `main` or `preview`. -