@privacyscrubber/mcp-server 2.2.2 β†’ 2.2.5

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/LICENSE.md ADDED
@@ -0,0 +1,23 @@
1
+ # PrivacyScrubber MCP Server License Agreement
2
+
3
+ **Copyright (c) 2026 Ilya Sibiryakov (BrandMeWeb). All Rights Reserved.**
4
+
5
+ ### 1. Grant of License β€” Community / Development Tier
6
+ Subject to the terms and conditions of this Agreement, BrandMeWeb grants you a personal, worldwide, non-exclusive, non-transferable license to install and run the PrivacyScrubber MCP Server (`@privacyscrubber/mcp-server`) in local IDE environments (such as Cursor, Windsurf, Claude Desktop, and CLI tools) solely for personal evaluation, development, and standard local data sanitization under published Free Tier quotas.
7
+
8
+ ### 2. Commercial, Multi-User & Enterprise Tier
9
+ Use of this software within commercial organizations, production automated pipelines, CI/CD gates, high-volume batch processing, multi-seat corporate teams, or the invocation of the 30 Specialized Industry Profiles (HIPAA PHI, Financial PAN/IBAN, Legal Privilege, DevSecOps Cloud Secrets, Automotive, Telecom, Biotech) requires a valid commercial license key:
10
+ - **PrivacyScrubber PRO**: Individual professional use ($15/mo or $110 Lifetime).
11
+ - **PrivacyScrubber TEAMS**: Team and small enterprise seats ($99/mo flat).
12
+ - **PrivacyScrubber Enterprise / Air-Gapped**: Dedicated corporate VPC clusters, Nitro Enclaves, and custom profile calibration ($12,000/yr).
13
+
14
+ Licensing and key activation: https://privacyscrubber.com/pricing
15
+
16
+ ### 3. Restrictions on Reverse-Engineering & Redistribution
17
+ Except as expressly authorized herein, you may not:
18
+ - Decompile, disassemble, reverse-engineer, or attempt to reconstruct the underlying pattern databases, regular expression taxonomies, or proprietary tokenization finite-state machines.
19
+ - Extract, harvest, or scrape the 30 specialized industry entity taxonomies to train competing machine learning models or build competing redaction products.
20
+ - Distribute, sublicense, lease, or commercially exploit standalone copies of the engine without an active Enterprise OEM agreement.
21
+
22
+ ### 4. Disclaimer of Warranties & Limitation of Liability
23
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -3,10 +3,13 @@
3
3
  [![NPM Version](https://img.shields.io/npm/v/@privacyscrubber/mcp-server?color=blue)](https://www.npmjs.com/package/@privacyscrubber/mcp-server)
4
4
  [![NPM Downloads](https://img.shields.io/npm/dm/@privacyscrubber/mcp-server?color=3b82f6)](https://www.npmjs.com/package/@privacyscrubber/mcp-server)
5
5
  [![NPM SDK](https://img.shields.io/npm/v/@privacyscrubber/sdk?label=%40privacyscrubber%2Fsdk&color=10b981)](https://www.npmjs.com/package/@privacyscrubber/sdk)
6
+ [![Presidio Alternative](https://img.shields.io/badge/Presidio%20Alternative-Node.js%20%26%20TS-0078D4.svg)](https://www.npmjs.com/package/@privacyscrubber/sdk)
7
+ [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-success.svg)](https://www.npmjs.com/package/@privacyscrubber/sdk)
6
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
9
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.22058770.svg)](https://zenodo.org/records/22058770)
8
10
  [![OSF DOI](https://img.shields.io/badge/OSF%20DOI-10.17605%2FOSF.IO%2F5BYJF-blue.svg)](https://osf.io/5byjf/)
9
11
  [![SSRN](https://img.shields.io/badge/SSRN-7335581-darkred.svg)](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=7335581)
12
+ [![IETF Specification](https://img.shields.io/badge/IETF-ZTDS--Protocol-0284c7.svg)](https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/)
10
13
  [![smithery badge](https://smithery.ai/badge/privacyscrubber/pii-masking-mcp)](https://smithery.ai/servers/privacyscrubber/pii-masking-mcp)
11
14
  [![Cursor Directory](https://img.shields.io/badge/Cursor%20Directory-Verified%20Plugin-000000.svg)](https://cursor.directory/plugins/privacyscrubber-mcp)
12
15
  [![Glama.ai](https://glama.ai/mcp/servers/moxno/privacyscrubber-mcp/badge)](https://glama.ai/mcp/servers/moxno/privacyscrubber-mcp)
@@ -50,22 +53,63 @@ Run the server directly without local installation:
50
53
  npx -y @privacyscrubber/mcp-server
51
54
  ```
52
55
 
53
- ### 3. Programmatic Node.js / TypeScript SDK
54
- Need direct, in-memory zero-trust PII sanitization in your backend microservice or custom AI agent rather than an MCP server? Use our official zero-dependency SDK:
56
+ ### 3. Programmatic Node.js / TypeScript SDK (Lightweight Presidio Alternative)
57
+ Need direct, in-memory zero-trust PII sanitization in your backend microservice, Next.js app, or RAG vector pipeline rather than an MCP server? Use our official zero-dependency SDK:
55
58
 
56
59
  ```bash
57
60
  npm install @privacyscrubber/sdk
58
61
  ```
59
62
 
60
- ```javascript
63
+ ```typescript
61
64
  import OpenAI from 'openai';
62
65
  import { wrapOpenAI } from '@privacyscrubber/sdk';
63
66
 
64
67
  // Transparently masks PII before sending to LLM and rehydrates responses:
65
68
  const openai = wrapOpenAI(new OpenAI({ apiKey: process.env.OPENAI_API_KEY }));
69
+
70
+ // Outbound prompt is sanitized in local RAM before leaving your machine:
71
+ // "Schedule a call with [NAME_1] at [EMAIL_1] regarding API key [AWS_KEY_1]."
72
+ const completion = await openai.chat.completions.create({
73
+ model: 'gpt-4o',
74
+ messages: [{ role: 'user', content: 'Schedule a call with Alice Smith at alice@acme.com with AKIAIOSFODNN7EXAMPLE.' }]
75
+ });
76
+
77
+ // Incoming LLM answer is automatically rehydrated with "Alice Smith (alice@acme.com)":
78
+ console.log(completion.choices[0].message.content);
66
79
  ```
67
80
 
68
- πŸ‘‰ [View @privacyscrubber/sdk on NPM](https://www.npmjs.com/package/@privacyscrubber/sdk) | Includes `wrapOpenAI()` middleware, TypeScript definitions, and 25 compliance profiles.
81
+ #### ⚑ Why @privacyscrubber/sdk vs Microsoft Presidio?
82
+
83
+ Microsoft Presidio is the Python standard, but deploying it in a Node.js / TypeScript stack requires running heavy Python microservices, Docker containers, and 500MB+ spaCy NLP models with 35–120ms latency. `@privacyscrubber/sdk` runs **100% in-process with zero dependencies**:
84
+
85
+ | Feature / Metric | `@privacyscrubber/sdk` | Microsoft Presidio | AWS Comprehend / Google Cloud DLP |
86
+ | :--- | :--- | :--- | :--- |
87
+ | **Runtime & Dependencies** | **0 dependencies (~150KB)** | Python + Docker + spaCy (~500MB) | Heavy Cloud SDKs |
88
+ | **Execution Latency** | **Sub-millisecond in RAM (<1ms)** | 35–120ms HTTP/gRPC roundtrip | 180–400ms external cloud roundtrip |
89
+ | **Docker / Sidecar Needed** | **None (Pure in-process Node/WASM)** | Mandatory Docker container | VPC endpoints & IAM configurations |
90
+ | **Network Egress** | **0 Bytes (100% Air-gapped)** | Local internal network hop | Full unencrypted payload to cloud |
91
+ | **Data Loss & Reversibility** | **0 Loss (RAM-reversible via `restore()`)** | Manual token vault configuration | Irreversible masking / hashing |
92
+ | **OpenAI / LangChain 1-Liner** | **Built-in (`wrapOpenAI`, `wrapAiStream`)** | Complex custom pipeline glue | Custom proxy architecture |
93
+ | **DevOps Secrets Interception**| **Built-in (AWS, JWT, DB URIs, GitHub PAT)**| Custom regex recognizers needed | Cloud-specific classifiers |
94
+ | **Streaming Rehydration** | **Built-in (`wrapAiStream`, `TransformStream`)**| Buffering / chunk split failures | Not supported in real-time streams |
95
+
96
+ πŸ‘‰ [View @privacyscrubber/sdk on NPM](https://www.npmjs.com/package/@privacyscrubber/sdk) | Full documentation, Express middleware, LangChain transforms, and 25 compliance profiles.
97
+
98
+ #### πŸ›‘οΈ Architecture & Security Deep-Dive (Zero-Trust vs Cloud DLP)
99
+
100
+ When AI IDEs (Cursor, Claude Desktop, Windsurf) connect to model providers, developer credentials, database connection strings, and internal customer PII are at continuous risk of prompt exfiltration. The `@privacyscrubber/mcp-server` enforces four immutable architectural guarantees:
101
+
102
+ 1. **Stdio Air-Gapped Transport**:
103
+ The MCP server communicates exclusively over local standard input/output (`stdio`) child processes spawned by your IDE. It opens **zero external listening ports** and initiates **zero remote network requests**.
104
+ 2. **Volatile RAM-Only Token Map**:
105
+ The mapping table between synthetic tokens (`[AWS_KEY_1]`, `[EMAIL_1]`) and raw cleartext is maintained exclusively in ephemeral node memory and is wiped the moment your IDE session closes.
106
+ 3. **Deterministic AST Lookarounds vs Cloud Proxy Overhead**:
107
+ Unlike cloud DLP gateways (Nightfall, Skyflow) that add 200–400ms latency and transmit unencrypted code to third parties, `@privacyscrubber/mcp-server` runs locally in <2ms with zero data egress.
108
+ 4. **Permanent Standards & Academic Validation**:
109
+ - **IETF Specification**: [draft-sibiryakov-ztds-protocol-00](https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/)
110
+ - **CERN / Zenodo Foundation**: [DOI 10.5281/zenodo.22058770](https://doi.org/10.5281/zenodo.22058770)
111
+ - **Center for Open Science (OSF)**: [DOI 10.17605/OSF.IO/5BYJF](https://doi.org/10.17605/OSF.IO/5BYJF)
112
+ - **Patent Pending**: Israel Patent Office Application `IL 331905` (WIPO DAS Code: `B17B`)
69
113
 
70
114
  ---
71
115
 
@@ -246,7 +290,7 @@ Returns a visual dashboard showing your current tier, session request count, act
246
290
  * **Response Example (Free Tier):**
247
291
  ```
248
292
  ╔══════════════════════════════════════════════════╗
249
- β•‘ PrivacyScrubber MCP Server v2.2.2 β•‘
293
+ β•‘ PrivacyScrubber MCP Server v2.2.4 β•‘
250
294
  ╠══════════════════════════════════════════════════╣
251
295
  β•‘ πŸ”“ Tier: FREE β•‘
252
296
  β•‘ πŸ“Š Session requests: 5 β•‘
@@ -295,7 +339,7 @@ Looking for real-time protection directly inside your web browser?
295
339
 
296
340
  ## πŸ“„ License & Commercial Upgrade
297
341
 
298
- By default, the server runs under the **Free Tier** (restricted to 15,000 characters per request and the basic `General` PII profile). To unlock 25 specialized engineering, medical, legal, and financial PII profiles, as well as team-wide custom rules, you can purchase a commercial license.
342
+ By default, the server runs under the **Free Tier** (restricted to 15,000 characters per request and the basic `General` PII profile). To unlock 30 specialized engineering, medical, legal, and financial PII profiles, as well as team-wide custom rules, you can purchase a commercial license.
299
343
 
300
344
  ### Feature Comparison
301
345
 
@@ -304,7 +348,7 @@ By default, the server runs under the **Free Tier** (restricted to 15,000 charac
304
348
  | **Volatile Tokenization** | βœ… Yes | βœ… Yes | βœ… Yes |
305
349
  | **Standard PII Masking** | βœ… Yes | βœ… Yes | βœ… Yes |
306
350
  | **Max Character Length** | 15,000 chars | ♾️ Unlimited | ♾️ Unlimited |
307
- | **Industry Profiles** | General Only | 25 Profiles | 25 Profiles |
351
+ | **Industry Profiles** | General Only | 30 Profiles | 30 Profiles |
308
352
  | **Custom Regex Rules** | ❌ Locked | ♾️ Unlimited | ♾️ Unlimited |
309
353
  | **Team Rules Sync (GPO)** | ❌ No | ❌ No | βœ… Yes (Shared Link) |
310
354
  | **Licensing Cost** | $0 | **$110 Lifetime** | **$99/mo Flat Rate** |
@@ -395,6 +439,7 @@ PrivacyScrubber and the Zero-Trust Data Sanitization (ZTDS) protocol are backed
395
439
 
396
440
  | Repository / Archive | DOI / Identifier | Focus Area | Regulatory & Compliance Scope |
397
441
  |---|---|---|---|
442
+ | **IETF Standards Track** | [`draft-sibiryakov-ztds-protocol`](https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/) | The ZTDS Protocol for Frontier AI Ingestion | Global AI Privacy, Zero-Egress Architecture |
398
443
  | **Zenodo / CERN** | [`10.5281/zenodo.22058770`](https://zenodo.org/records/22058770) | Zero-Trust Data Sanitization (ZTDS) Protocol Foundation | Cross-Border AI Privacy, ISO 27001 A.8.11 |
399
444
  | **OSF (Center for Open Science)** | [`10.17605/OSF.IO/5BYJF`](https://osf.io/5byjf/) | Empirical Latency Benchmark & Memory Profiling (<2ms RAM) | Performance vs Cloud DLP Proxies |
400
445
  | **SSRN / Elsevier** | [`SSRN ID: 7335581`](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=7335581) | Enterprise Generative AI Governance | EU AI Act, UK GDPR, US State Privacy |
@@ -431,4 +476,11 @@ The Zero-Trust Data Sanitization (ZTDS) architecture, in-memory deterministic to
431
476
  - **Official Title:** *SYSTEM AND METHOD FOR CLIENT-SIDE ZERO-TRUST DATA SANITIZATION AND CRYPTOGRAPHIC SESSION HANDOFF IN ARTIFICIAL INTELLIGENCE WORKFLOWS*
432
477
  - **Virtual Patent Marking:** [privacyscrubber.com/patents/](https://privacyscrubber.com/patents/) in accordance with 35 U.S.C. Β§ 287(a).
433
478
 
479
+ ### 🌐 Internet Engineering Task Force (IETF) Specification
480
+ - **Specification Title:** *The Zero-Trust Data Sanitization (ZTDS) Protocol for Frontier Artificial Intelligence Ingestion*
481
+ - **Standards Track:** IETF Internet Standard Track
482
+ - **IETF Datatracker:** [https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/](https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/)
483
+ - **Archive Plaintext:** [https://www.ietf.org/archive/id/draft-sibiryakov-ztds-protocol-00.txt](https://www.ietf.org/archive/id/draft-sibiryakov-ztds-protocol-00.txt)
484
+
485
+
434
486