What's new
ML-powered PII redaction
The regex-based name detector has been replaced with a multilingual NER (Named Entity Recognition) model. Person names in freeform text — conversation bodies, subjects, notes — are now detected by an ML model and replaced with consistent fake identities. No more false positives on phrases like "Technical Support" or "New Zealand".
- 10 languages supported: Arabic, Chinese, Dutch, English, French, German, Italian, Latvian, Portuguese, Spanish
- Deterministic pseudonyms: same real identity → same fake name, email, and phone across commands and sessions
- Mode-aware:
customersmode redacts only customer data;allmode redacts everyone - Runs locally: the model runs entirely on your machine via ONNX Runtime — no API calls, no data leaves your system
The model bundle (~100 MB) is downloaded on first use:
hs pii-model install # download the model
hs pii-model status # check install status
hs pii-model uninstall # remove from diskWithout the model installed, freeform text fields are hidden with a notice. Structured field redaction (names, emails, phones) always works regardless.
Keyring fallback for headless Linux
Credential storage now falls back gracefully to the config file on headless Linux systems where no keyring backend (GNOME Keyring, KWallet, etc.) is available.
Documentation
- README restructured into a focused landing page with links to full API references
- New Inbox API reference — complete command and flag documentation
- New Docs API reference — previously undocumented despite being fully implemented
- New Developer guide — project structure, build, test architecture, release process
Changelog
- feat: replace regex name detection with ML-based NER
- feat: keyring fallback to config file on headless Linux
- fix: mode-aware PII redaction, long-text chunking
- fix: patch onnxruntime-purego AddCleanup double-free
- refactor: rename ner commands to pii-model for user-facing consistency
- docs: split README into focused docs, add full Docs API reference
- ci: add pii-model release workflow, guard npm-publish