You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(gate2): improve AU/NZ phone number detection coverage
- Add AU/NZ landline patterns (+61 [2378] / +64 [34679], local and international)
- Split AU/NZ phone confidence: international prefix (+61/+64) scores 0.85
(auto-redacts in any column); local format scores 0.70 (needs key context)
- Fix +610/+640 stray leading zero after country code silently skipped
- Strip ASCII whitespace from values before regex matching so variants like
"+ 640220831619" and "+6 40220831619" are caught
- Add phone column synonyms: phnumber, ph_number, cell, cell_number
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,16 @@
1
+
## [Unreleased]
2
+
3
+
### 🐛 Bug Fixes
4
+
5
+
- Fix AU/NZ international phone numbers not matched when `+` is separated from digits by whitespace (e.g. `+ 640220831619`, `+6 40220831619`) — values are now whitespace-stripped before regex matching
6
+
- Fix `+610`/`+640` (stray leading zero after country code) silently skipped by AU/NZ phone patterns
7
+
8
+
### ✨ Improvements
9
+
10
+
- Add AU/NZ landline patterns: `+61 [2378]`/`0[2378]` (NSW/ACT, VIC/TAS, QLD, WA/SA/NT) and `+64 [34679]`/`0[34679]` (South Island, Wellington, Taranaki, Waikato, Auckland)
11
+
- Split AU/NZ phone confidence: international-prefix numbers (`+61`/`+64`) score 0.85 and auto-redact in any column; local-format numbers score 0.70 and require a PII-named column
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -216,7 +216,7 @@ Stats are collected by default and written to a local JSONL log on disk — they
216
216
-**Commands not in `tools:`.** The AI can invoke them freely; their output is never inspected.
217
217
-**Non-JSON tool output.** Plain text, CSV, and other formats pass through unchanged. Configure tools to emit JSON.
218
218
-**Encoded or obfuscated PII.** Base64-encoded emails, URL-encoded values, or deliberately spaced strings (`a l i c e @ e x a m p l e . c o m`) are not detected.
219
-
-**Non-US PII by value alone.** The built-in SSN regex requires dashesand the phone pattern is US-centric. AU/NZ identifiers are covered at the value layer: ABN (mod-89 checksum), Medicare (mod-10 checksum), formatted TFN and IRD numbers (mod-11, separators required), NZ NHI (alpha-prefix regex), and NZ bank account numbers. Bare/unformatted TFN and IRD strings without separators are not detected by value alone — column-name matching remains the safety net for those. Other non-AU/NZ formats rely solely on column-name matching — extend `pii.column_names` or `pii.patterns` for your region.
219
+
-**Non-US PII by value alone.** The built-in SSN regex requires dashes. AU/NZ phone numbers are caught by value — mobile (`04XX`/`02X` local, `+61 4XX`/`+64 2X` international) and landline (`0[2378]`/`0[34679]` local, `+61 [2378]`/`+64 [34679]` international) — including the common `+610`/`+640` stray-leading-zero variant and arbitrary whitespace in the number. International-prefix numbers (`+61`/`+64`) auto-redact regardless of column name; local-format numbers require a PII-named column. Other AU/NZ identifiers are also covered at the value layer: ABN (mod-89 checksum), Medicare (mod-10 checksum), formatted TFN and IRD numbers (mod-11, separators required), NZ NHI (alpha-prefix regex), and NZ bank account numbers. Bare/unformatted TFN and IRD strings without separators are not detected by value alone — column-name matching remains the safety net for those. Other non-AU/NZ formats rely solely on column-name matching — extend `pii.column_names` or `pii.patterns` for your region.
220
220
-**PII already in the model's context** from prior turns, system prompts, file reads, or earlier summarisation. Gate filters what goes *into* the model from configured tools; what's already there stays there.
221
221
-**Tool-side network exfiltration.** If a configured tool sends data to an external service directly (rather than returning it via stdout), gate never sees it.
222
222
-**Write operations.**`INSERT`, `UPDATE`, `DELETE` are not inspected or blocked.
0 commit comments