{"_id":"@dottedice/pdf-vector-sanitizer","_rev":"6-542553047d162c2588693212b88a67a7","name":"@dottedice/pdf-vector-sanitizer","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@dottedice/pdf-vector-sanitizer","version":"1.0.0","keywords":["pdf-sanitizer","pdf-redaction","secure-redact","dpdp","privacy"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/pdf-vector-sanitizer@1.0.0","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"dist":{"shasum":"dd50e678029faf2dff845c4655642d5a7bc5f633","tarball":"https://registry.npmjs.org/@dottedice/pdf-vector-sanitizer/-/pdf-vector-sanitizer-1.0.0.tgz","fileCount":3,"integrity":"sha512-0zpFmJ/08KLoFngbf5KWaxinlE391m7XeZViQ9ge7yn00LNHn+5H8Dqsj++MpsfLHRU1FzaE6/OQGyjsBPCTiQ==","signatures":[{"sig":"MEYCIQCs2+kR+XGDhW5rx0NICHox7LOdapZboYDdYqj4GQIXpgIhAOgCVC46CNRo+ySGbPlW7kheCwQyTvGxltSaYoPZpLpS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4415},"main":"index.js","type":"module","gitHead":"4b689c2fc0b93920a14ed6ad718bf0b3fe1a8b67","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"Secure PDF text-stripping and data sanitization engine for compliance (GDPR/DPDP)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pdf-lib":"^1.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-vector-sanitizer_1.0.0_1785999058042_0.14731014785980956","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dottedice/pdf-vector-sanitizer","version":"1.0.1","keywords":["pdf-sanitizer","pdf-redaction","secure-redact","dpdp","privacy"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/pdf-vector-sanitizer@1.0.1","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"dist":{"shasum":"d2dc33a6285162c14b77dc2c52848b10b9e79d89","tarball":"https://registry.npmjs.org/@dottedice/pdf-vector-sanitizer/-/pdf-vector-sanitizer-1.0.1.tgz","fileCount":3,"integrity":"sha512-bo0oKg+4QxR3W6GiucrJHiDPVXupuezXkWikmsvhAUY6U8c4MXz+vtCjNxoae04bJDt5BkJA3m7DHZXRAk1xgg==","signatures":[{"sig":"MEUCIQDAaLtGql8X6CsFHbCpg3OXzhakkZMt7WELjC97srPgOAIgKWKb2BKNVXu61R2NmlBbIL7aSFWi2NlARMcSGiEhPmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10344},"main":"index.js","type":"module","gitHead":"39c658f30e9a13eaa0278eb6b3585ce701eafee6","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"Secure PDF text-stripping and data sanitization engine for compliance (GDPR/DPDP)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pdf-lib":"^1.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-vector-sanitizer_1.0.1_1786198746597_0.9774248328672184","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dottedice/pdf-vector-sanitizer","version":"1.0.2","keywords":["pdf-sanitizer","pdf-redaction","secure-redact","dpdp","privacy"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/pdf-vector-sanitizer@1.0.2","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/open-source-terms.html","dist":{"shasum":"e7fe3a4293fc73f865519c6e4682ab13198f5ca8","tarball":"https://registry.npmjs.org/@dottedice/pdf-vector-sanitizer/-/pdf-vector-sanitizer-1.0.2.tgz","fileCount":3,"integrity":"sha512-yuLsl2qXWMw9dzbob6kF35HhI1b7xY4fZm3VslwyapcwQl4FQkgLC6GTEWrRTfKpE8eN8fDmplDJ8AZW0G3D2A==","signatures":[{"sig":"MEQCIDbopjxeNwDmaMu6FLbG6c2oCcOzYzg6Ky6yJZl5S2dRAiBFmbWWDZWwhywrJfh+m7Foo5/qWuFPTbF8v0ZEXo7H0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10406},"main":"index.js","type":"module","gitHead":"46be19e7fa82587f9fc85010aa7c72e6e148a0f3","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"Secure PDF text-stripping and data sanitization engine for compliance (GDPR/DPDP)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pdf-lib":"^1.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-vector-sanitizer_1.0.2_1786885912914_0.4747178377383119","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@dottedice/pdf-vector-sanitizer","version":"1.0.3","keywords":["pdf-sanitizer","pdf-redaction","secure-redact","dpdp","privacy"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/pdf-vector-sanitizer@1.0.3","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/open-source-terms.html","dist":{"shasum":"e49cbdd2b341dc3cd234574faee83c323dd160ec","tarball":"https://registry.npmjs.org/@dottedice/pdf-vector-sanitizer/-/pdf-vector-sanitizer-1.0.3.tgz","fileCount":3,"integrity":"sha512-En7YzZ+aK/rZKbmQruaeEah6YLEqOpZ2NnCUi51WXxktBxiK+7w4rEiH3cibOIaJP7Wixgbgcg/N6VK989t+YQ==","signatures":[{"sig":"MEUCIBJmhw//e18TiGSP2q3hdDQmm637YL0dmcbXDJitdOa8AiEAxAA3S6fUEanMeEOasbSMulC5fOB+//LOZWyEscyMneA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10406},"main":"index.js","type":"module","gitHead":"46be19e7fa82587f9fc85010aa7c72e6e148a0f3","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"11.5.1","description":"Secure PDF text-stripping and data sanitization engine for compliance (GDPR/DPDP)","directories":{},"_nodeVersion":"24.6.0","dependencies":{"pdf-lib":"^1.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-vector-sanitizer_1.0.3_1786971127165_0.07308762867743579","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@dottedice/pdf-vector-sanitizer","version":"1.0.4","keywords":["pdf-sanitizer","pdf-redaction","secure-redact","dpdp","privacy"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/pdf-vector-sanitizer@1.0.4","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/legal.html#tab=opensource","dist":{"shasum":"26f9a3c2768386d269a4d6c4b26470dd8770bfcc","tarball":"https://registry.npmjs.org/@dottedice/pdf-vector-sanitizer/-/pdf-vector-sanitizer-1.0.4.tgz","fileCount":3,"integrity":"sha512-x4KBWxQm/uLOTHCNsz0akGmFSKB5hLlLKyyVwHaLdoJjSTyjjS2IAjX/eTPinRAgBKlemEj6Mfk5WjTwOjNX6w==","signatures":[{"sig":"MEQCIBrB6Sd1Wj1fUB2FoVSKwPBv6wLiSLLVmichv05xkGBvAiBX/VjHn6lB093wopFpm+qjR7bhc4X5ds8YOJT8FnyatQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5803},"main":"index.js","type":"module","gitHead":"ce102bc6358dfcce38e3625b8efc56246f033747","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"11.5.1","description":"Secure PDF text-stripping and data sanitization engine for compliance (GDPR/DPDP)","directories":{},"_nodeVersion":"24.6.0","dependencies":{"pdf-lib":"^1.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pdf-vector-sanitizer_1.0.4_1786973289624_0.735889592231995","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@dottedice/pdf-vector-sanitizer","version":"1.0.5","description":"Secure PDF text-stripping and data sanitization engine for compliance (GDPR/DPDP)","main":"index.js","type":"module","dependencies":{"pdf-lib":"^1.17.1"},"keywords":["pdf-sanitizer","pdf-redaction","secure-redact","dpdp","privacy"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","homepage":"https://dottedice.com/legal.html#tab=opensource","publishConfig":{"access":"public"},"_id":"@dottedice/pdf-vector-sanitizer@1.0.5","gitHead":"3d162b3ab290497b392b95c2df1b86ed3f9bec84","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-tV7dZUTaE8btRFVJr/R2qZay3aEq5S9grp5O9utF9B8LOy2/keQ5u9FLM5XGXTttuKSI+6C1eMDFfo/k7F6SEg==","shasum":"1feb626c9360ec0acf409a8ad7189204bc5fcd7f","tarball":"https://registry.npmjs.org/@dottedice/pdf-vector-sanitizer/-/pdf-vector-sanitizer-1.0.5.tgz","fileCount":3,"unpackedSize":5803,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFOM77KjVqu7wUKXC3ZqVW3Bg+dkssGrG9YW9FKP/bBwAiAR8j/SkWZq+ilZ2jkrh6mJ4+MI1KbGRPSK4Ip0Aor8UA=="}]},"_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"directories":{},"maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pdf-vector-sanitizer_1.0.5_1787674439741_0.7845355242199361"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-06T06:50:57.771Z","modified":"2026-08-25T16:14:00.103Z","1.0.0":"2026-08-06T06:50:58.184Z","1.0.1":"2026-08-08T14:19:06.745Z","1.0.2":"2026-08-16T13:11:53.058Z","1.0.3":"2026-08-17T12:52:07.325Z","1.0.4":"2026-08-17T13:28:09.787Z","1.0.5":"2026-08-25T16:13:59.899Z"},"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","homepage":"https://dottedice.com/legal.html#tab=opensource","keywords":["pdf-sanitizer","pdf-redaction","secure-redact","dpdp","privacy"],"description":"Secure PDF text-stripping and data sanitization engine for compliance (GDPR/DPDP)","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"readme":"## Legal Terms & Disclaimer\nThis open-source package is distributed strictly for technical education and architectural research purposes. For full warranty disclaimers, export control notices (US EAR / EU Dual-Use), and limitation of liability terms, please review our [Open Source Terms & Disclaimer](https://dottedice.com/legal.html#tab=opensource).\n\n---\n\n# @dottedice/pdf-vector-sanitizer\n\nSecure PDF text-stripping and data sanitization engine. Completely strips or obfuscates text characters from the underlying PDF `/Contents` streams, preventing data recovery through copy-paste or text extraction tools (essential for DPDP Act 2023 / GDPR compliance).\n\n## Installation\n\n```bash\nnpm install @dottedice/pdf-vector-sanitizer pdf-lib\n```\n\n## Features\n* **Underlying Text Stripping**: Completely replaces targeted characters with mask strings inside the raw content stream parameters.\n* **Tj/TJ Operator Support**: Safely parses both literal and kerning-based text-drawing operators.\n* **100% Client-Side**: No cloud server latency or data leakage.\n\n## API Reference\n\n### `sanitizePdfText(pdfBytes, searchPhrases)`\nParses and returns a `Uint8Array` of the sanitized PDF document.\n* `pdfBytes` (`Uint8Array`): Original PDF document binary.\n* `searchPhrases` (`Array<string>`): Array of text patterns (e.g. `['Sanjay Deshmukh', '9876543210']`) to securely strip from the document content layers.\n","readmeFilename":"README.md"}