Repository navigation
v2.0.2 — Complete Node.js rewrite
v2.0.2 — Complete Node.js rewrite
PII Shield has been rewritten from scratch in Node.js. The v1.0.0 Python implementation is preserved at tag v1.0.0 for anyone who needs it.
How install works now
No terminal commands. No model download upfront. PII Shield handles the model install in-chat via a panel that appears the first time you anonymize.
- Download the
.mcpbfor your OS:- Windows / Linux →
pii-shield-v2.0.2-windows-linux.mcpb - macOS (Intel or Apple Silicon) →
pii-shield-v2.0.2-macos.mcpb(bundles Node 24.15.0 to dodge a Claude Desktop darwin host-runtime launch bug)
- Windows / Linux →
- Install the MCP extension — Claude Desktop → Settings → Extensions → Advanced Settings → Install extension → select your
.mcpb. - Upload the skill — Claude Desktop → Customize → Skills → + → Upload a skill → select
pii-contract-analyze.skill. Drives anonymize → review → analysis → deanonymize end to end. - Open a new chat, ask Claude to anonymize a document. On the very first run an in-chat panel pops up with two buttons:
- Download model — opens your default browser, downloads
gliner-pii-base-v1.0.zip(~634 MB) from this release. The browser handles the transfer (no SmartScreen / Defender issues with unsigned scripts). - Install downloaded ZIP — PII Shield finds the ZIP in your Downloads / OneDrive / Desktop / Documents folder, validates it (model.onnx ≥ 600 MB + 4 tokenizer files), atomic-extracts into
~/.pii_shield/models/, and re-initializes NER. Anonymization continues automatically.
- Download model — opens your default browser, downloads
After that first run the panel never appears again. NER deps install once via npm ci --ignore-scripts into a versioned cache (~/.pii_shield/deps/installs/<slug>/) — 2–3 min, instant on every subsequent boot.
What changed under the hood
- Runtime: Node.js (was Python 3.10+). No PyTorch, no SpaCy, no presidio.
- NER: GLiNER via
@xenova/transformers+onnxruntime-node1.22.0 (pinned triplet, deterministicnpm ci). - Package:
.mcpb(was.dxt). - HITL review: MCP Apps iframe in chat (was localhost web server + browser tab).
- Install: in-chat setup panel (was terminal one-liner). See above.
- Sizes: ~700 KB thin
.mcpbon Windows/Linux, ~83 MB macOS variant (bundles Node).
Release artefacts
| File | What | Size |
|---|---|---|
pii-shield-v2.0.2-windows-linux.mcpb |
MCPB for Windows + Linux (uses host Node) | ~700 KB |
pii-shield-v2.0.2-macos.mcpb |
MCPB for macOS arm64 + x64 (bundles Node 24.15.0) | ~83 MB |
pii-contract-analyze.skill |
Contract analysis skill (load into ~/.claude/skills/) |
~25 KB |
gliner-pii-base-v1.0.zip |
GLiNER NER model — fetched by the in-chat install panel | ~613 MB |
Migrating from v1.0.0
This is a separate product, not a drop-in upgrade. If you want to stay on Python, pin to tag v1.0.0.
Known notes
- macOS users: install only
pii-shield-v2.0.2-macos.mcpb, not the windows-linux one. The Mac variant bundles Node 24.15.0 to work around a Claude Desktop host-Node launch bug on darwin. - Mappings live at
~/.pii_shield/mappings/with a 7-day default TTL. RaisePII_MAPPING_TTL_DAYSin extension settings for matters that span weeks / months. - The model can also be installed manually if you can't use the panel — drop
gliner-pii-base-v1.0.zipsomewhere PII Shield scans (Downloads / OneDrive / Desktop / Documents) and click the panel's Install button.