{"_id":"@redactpii/node","_rev":"7-59ccb592b86e277a27bf683d28e6af97","name":"@redactpii/node","dist-tags":{"latest":"1.0.17"},"versions":{"1.0.0":{"name":"@redactpii/node","version":"1.0.0","keywords":["pii","redaction","privacy","gdpr","compliance","data-protection","security","redactor","anonymization"],"author":{"name":"Andrew Pierno - RedactPII Team"},"license":"MIT","_id":"@redactpii/node@1.0.0","maintainers":[{"name":"wrannaman","email":"andrewpierno@gmail.com"}],"homepage":"https://github.com/wrannaman/redactpii-node#readme","bugs":{"url":"https://github.com/wrannaman/redactpii-node/issues"},"dist":{"shasum":"9e8660e622fa65eddfafcbecd3cb15d03af5caee","tarball":"https://registry.npmjs.org/@redactpii/node/-/node-1.0.0.tgz","fileCount":29,"integrity":"sha512-cnuZmN7jZiWKiI8TogtFXaiV+Sq96jJm48JRbIlRRjjHDV7tkQ43IVCFDRMwtUa3v2epq5CwVVg1RmZLpSG95Q==","signatures":[{"sig":"MEYCIQC4Y0O/BH05Kx1FgOn5enY1G8OW9CT5+V2YJ1S8tnoHRQIhAOmZGOs362lxvULT4cx7rVlOOOeG+Mi8NoETUuQAQxTl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79786},"main":"lib/index.js","type":"module","_from":"file:redactpii-node-1.0.0.tgz","types":"lib/index.d.ts","module":"lib/index.mjs","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.mjs","require":"./lib/index.js"}},"scripts":{"lint":"eslint 'src/**/*.ts' 'test/**/*.ts'","test":"vitest run","build":"del lib && tsc --pretty && rollup -c","coverage":"vitest run --coverage","lint:fix":"eslint 'src/**/*.ts' 'test/**/*.ts' --fix","prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --write","typecheck":"tsc --noEmit","test:watch":"vitest","verify_all":"pnpm run typecheck && pnpm test && pnpm run test_prettier","test_prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --list-different","verify_all_strict":"pnpm run typecheck && pnpm run lint && pnpm test && pnpm run test_prettier"},"_npmUser":{"name":"wrannaman","email":"andrewpierno@gmail.com"},"prettier":{"printWidth":120,"singleQuote":true},"_resolved":"/tmp/906abb8cdb700ed0e26eeaa31a3638f0/redactpii-node-1.0.0.tgz","_integrity":"sha512-cnuZmN7jZiWKiI8TogtFXaiV+Sq96jJm48JRbIlRRjjHDV7tkQ43IVCFDRMwtUa3v2epq5CwVVg1RmZLpSG95Q==","repository":{"url":"git+https://github.com/wrannaman/redactpii-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Zero dependencies, blazing fast regex-based PII redaction with optional compliance dashboard integration. The modern fork of the abandoned 786k-download library.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{js,json,md}":["prettier --write"]},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","eslint":"8.57.0","rollup":"^4.53.1","vitest":"^4.0.8","del-cli":"^7.0.0","prettier":"^3.6.2","typescript":"^5.9.3","@types/node":"^24.10.0","lint-staged":"^16.2.6","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^4.0.8","@rollup/plugin-typescript":"^12.3.0","@typescript-eslint/parser":"7.18.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/node_1.0.0_1762616506549_0.9667822593106505","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@redactpii/node","version":"1.0.2","keywords":["pii","redaction","privacy","gdpr","compliance","data-protection","security","redactor","anonymization"],"author":{"name":"Andrew Pierno - RedactPII Team"},"license":"MIT","_id":"@redactpii/node@1.0.2","maintainers":[{"name":"wrannaman","email":"andrewpierno@gmail.com"}],"homepage":"https://redactpii.com","bugs":{"url":"https://github.com/wrannaman/redactpii-node/issues"},"dist":{"shasum":"10c303f31a6ea4ac0f274ad97d47f97b2c2bc7fd","tarball":"https://registry.npmjs.org/@redactpii/node/-/node-1.0.2.tgz","fileCount":29,"integrity":"sha512-PSVMcSe8Sz+i1n/8Q1Ouoz7ilO5n1cl2IKaBxH73fE6Ycu23JlWl0uPn2ONEFxX/R5bAMOa6nl8M2CCVNFKPUQ==","signatures":[{"sig":"MEYCIQDZ76io3TRG3uz4xP8BkhS3ahUTpHI4Ub1SBX+8U85D3AIhAPktIZq+FWuoXUCEXGHkyHOFS10cZla449MkXkDRwnY0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79867},"main":"lib/index.js","type":"module","_from":"file:redactpii-node-1.0.2.tgz","types":"lib/index.d.ts","module":"lib/index.mjs","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.mjs","require":"./lib/index.js"}},"scripts":{"lint":"eslint 'src/**/*.ts' 'test/**/*.ts'","test":"vitest run","build":"del lib && tsc --pretty && rollup -c","release":"node scripts/release.js","coverage":"vitest run --coverage","lint:fix":"eslint 'src/**/*.ts' 'test/**/*.ts' --fix","prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --write","typecheck":"tsc --noEmit","test:watch":"vitest","verify_all":"pnpm run typecheck && pnpm test && pnpm run test_prettier","test_prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --list-different","verify_all_strict":"pnpm run typecheck && pnpm run lint && pnpm test && pnpm run test_prettier"},"_npmUser":{"name":"wrannaman","email":"andrewpierno@gmail.com"},"prettier":{"printWidth":120,"singleQuote":true},"_resolved":"/tmp/af70bf7c1bffd12298949aa969d6cd8d/redactpii-node-1.0.2.tgz","_integrity":"sha512-PSVMcSe8Sz+i1n/8Q1Ouoz7ilO5n1cl2IKaBxH73fE6Ycu23JlWl0uPn2ONEFxX/R5bAMOa6nl8M2CCVNFKPUQ==","repository":{"url":"git+https://github.com/wrannaman/redactpii-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Zero dependencies, blazing fast regex-based PII redaction with optional compliance dashboard integration. The modern fork of the abandoned 786k-download library.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{js,json,md}":["prettier --write"]},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","eslint":"8.57.0","rollup":"^4.53.1","vitest":"^4.0.8","del-cli":"^7.0.0","prettier":"^3.6.2","typescript":"^5.9.3","@types/node":"^24.10.0","lint-staged":"^16.2.6","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^4.0.8","@rollup/plugin-typescript":"^12.3.0","@typescript-eslint/parser":"7.18.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/node_1.0.2_1762781178608_0.9780073702978462","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@redactpii/node","version":"1.0.9","keywords":["pii","redaction","privacy","gdpr","compliance","data-protection","security","redactor","anonymization"],"author":{"name":"Andrew Pierno - RedactPII Team"},"license":"MIT","_id":"@redactpii/node@1.0.9","maintainers":[{"name":"wrannaman","email":"andrewpierno@gmail.com"}],"homepage":"https://redactpii.com","bugs":{"url":"https://github.com/wrannaman/redactpii-node/issues"},"dist":{"shasum":"23b0601bf427d3105ad373951ac73df590f069b2","tarball":"https://registry.npmjs.org/@redactpii/node/-/node-1.0.9.tgz","fileCount":29,"integrity":"sha512-Ot5TPrCrEIUFy29pXgEVJhdnB1vq4qTH9uU96I7+XOXX75xITbx/cg7QfhkihHooU0IubjQb1WE3QS+v2FOkjQ==","signatures":[{"sig":"MEQCIELw7uoZeV+dEijJFJKMvp0Ioco8iB8MAnHOGXL14/MdAiBOi1M163InA5NGo3I3oXF8Gdy7Qvu1nGUkJaY6agTsSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79302},"main":"lib/index.js","type":"module","_from":"file:redactpii-node-1.0.9.tgz","types":"lib/index.d.ts","module":"lib/index.mjs","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.mjs","require":"./lib/index.js"}},"scripts":{"lint":"eslint 'src/**/*.ts' 'test/**/*.ts'","test":"vitest run","build":"del lib && tsc --pretty && rollup -c","release":"node scripts/release.js","coverage":"vitest run --coverage","lint:fix":"eslint 'src/**/*.ts' 'test/**/*.ts' --fix","prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --write","typecheck":"tsc --noEmit","test:watch":"vitest","verify_all":"pnpm run typecheck && pnpm test && pnpm run test_prettier","test_prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --list-different","verify_all_strict":"pnpm run typecheck && pnpm run lint && pnpm test && pnpm run test_prettier"},"_npmUser":{"name":"wrannaman","email":"andrewpierno@gmail.com"},"prettier":{"printWidth":120,"singleQuote":true},"_resolved":"/tmp/ca5788ca9bcf45a498d575c33b337c58/redactpii-node-1.0.9.tgz","_integrity":"sha512-Ot5TPrCrEIUFy29pXgEVJhdnB1vq4qTH9uU96I7+XOXX75xITbx/cg7QfhkihHooU0IubjQb1WE3QS+v2FOkjQ==","repository":{"url":"git+https://github.com/wrannaman/redactpii-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Zero dependencies, blazing fast regex-based PII redaction with optional compliance dashboard integration. The modern fork of the abandoned 786k-download library.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{js,json,md}":["prettier --write"]},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","eslint":"8.57.0","rollup":"^4.53.1","vitest":"^4.0.8","del-cli":"^7.0.0","prettier":"^3.6.2","typescript":"^5.9.3","@types/node":"^24.10.0","lint-staged":"^16.2.6","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^4.0.8","@rollup/plugin-typescript":"^12.3.0","@typescript-eslint/parser":"7.18.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/node_1.0.9_1762879460213_0.14997274552738404","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@redactpii/node","version":"1.0.10","keywords":["pii","redaction","privacy","gdpr","compliance","data-protection","security","redactor","anonymization"],"author":{"name":"Andrew Pierno - RedactPII Team"},"license":"MIT","_id":"@redactpii/node@1.0.10","maintainers":[{"name":"wrannaman","email":"andrewpierno@gmail.com"}],"homepage":"https://redactpii.com","bugs":{"url":"https://github.com/wrannaman/redactpii-node/issues"},"dist":{"shasum":"905ae76d5320deb67b559eea9d2ca920bcd718a7","tarball":"https://registry.npmjs.org/@redactpii/node/-/node-1.0.10.tgz","fileCount":29,"integrity":"sha512-fUJkURAByTjgz+sNqMnisjmGdvkUYgyxzIOHX0iXrw2BYlQvV894hhjMUBYJ3ylvHm9EHsquhh6DMzgVODF4wg==","signatures":[{"sig":"MEUCIGpEXtBWQvYAZfICIs9C5NXXTTTKtJZ3uS9J3smsq3pfAiEAioiai4ShUQY87GeaYkd3fDZsFZPUC0LxATy5LieCNxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112796},"main":"lib/index.js","type":"module","_from":"file:redactpii-node-1.0.10.tgz","types":"lib/index.d.ts","module":"lib/index.mjs","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.mjs","require":"./lib/index.js"}},"scripts":{"lint":"eslint 'src/**/*.ts' 'test/**/*.ts'","test":"vitest run","build":"del lib && tsc --pretty && rollup -c","release":"node scripts/release.js","coverage":"vitest run --coverage","lint:fix":"eslint 'src/**/*.ts' 'test/**/*.ts' --fix","prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --write","typecheck":"tsc --noEmit","test:watch":"vitest","verify_all":"pnpm run typecheck && pnpm test && pnpm run test_prettier","test_prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --list-different","verify_all_strict":"pnpm run typecheck && pnpm run lint && pnpm test && pnpm run test_prettier"},"_npmUser":{"name":"wrannaman","email":"andrewpierno@gmail.com"},"prettier":{"printWidth":120,"singleQuote":true},"_resolved":"/tmp/1cd4e0dfe00da7a1049a1c146bd3f47c/redactpii-node-1.0.10.tgz","_integrity":"sha512-fUJkURAByTjgz+sNqMnisjmGdvkUYgyxzIOHX0iXrw2BYlQvV894hhjMUBYJ3ylvHm9EHsquhh6DMzgVODF4wg==","repository":{"url":"git+https://github.com/wrannaman/redactpii-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Zero dependencies, blazing fast regex-based PII redaction with optional compliance dashboard integration. The modern fork of the abandoned 786k-download library.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{js,json,md}":["prettier --write"]},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","eslint":"8.57.0","rollup":"^4.53.1","vitest":"^4.0.8","del-cli":"^7.0.0","prettier":"^3.6.2","typescript":"^5.9.3","@types/node":"^24.10.0","lint-staged":"^16.2.6","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^4.0.8","@rollup/plugin-typescript":"^12.3.0","@typescript-eslint/parser":"7.18.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/node_1.0.10_1762884700294_0.5129475020022882","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@redactpii/node","version":"1.0.11","keywords":["pii","redaction","privacy","gdpr","compliance","data-protection","security","redactor","anonymization"],"author":{"name":"Andrew Pierno - RedactPII Team"},"license":"MIT","_id":"@redactpii/node@1.0.11","maintainers":[{"name":"wrannaman","email":"andrewpierno@gmail.com"}],"homepage":"https://redactpii.com","bugs":{"url":"https://github.com/wrannaman/redactpii-node/issues"},"dist":{"shasum":"aa1f26457cf3285eb3306e28f90cd3f047dec28a","tarball":"https://registry.npmjs.org/@redactpii/node/-/node-1.0.11.tgz","fileCount":29,"integrity":"sha512-RwA3oU+02R24dDNxbXA4+oRM0Us/CHa8cLUG5isvfI6x2w/wtE3AZWl37T14NvPiRkTMjdwV5czhy+dC+uvl4w==","signatures":[{"sig":"MEUCIQCsQseOPD/6Mtib9sVjK2sBaykx4ViTFad1523N1SZAkAIgHlnNk2D8Tt5jm+zjuKXCWC3Z3D8K0l6wfPZqaBsUboY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128371},"main":"lib/index.js","type":"module","_from":"file:redactpii-node-1.0.11.tgz","types":"lib/index.d.ts","module":"lib/index.mjs","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.mjs","require":"./lib/index.js"}},"scripts":{"lint":"eslint 'src/**/*.ts' 'test/**/*.ts'","test":"vitest run","build":"del lib && tsc --pretty && rollup -c","release":"node scripts/release.js","coverage":"vitest run --coverage","lint:fix":"eslint 'src/**/*.ts' 'test/**/*.ts' --fix","prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --write","typecheck":"tsc --noEmit","test:watch":"vitest","verify_all":"pnpm run typecheck && pnpm test && pnpm run test_prettier","test_prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --list-different","verify_all_strict":"pnpm run typecheck && pnpm run lint && pnpm test && pnpm run test_prettier"},"_npmUser":{"name":"wrannaman","email":"andrewpierno@gmail.com"},"prettier":{"printWidth":120,"singleQuote":true},"_resolved":"/tmp/ca418fe3dd689f7ffe8f55466a5973d3/redactpii-node-1.0.11.tgz","_integrity":"sha512-RwA3oU+02R24dDNxbXA4+oRM0Us/CHa8cLUG5isvfI6x2w/wtE3AZWl37T14NvPiRkTMjdwV5czhy+dC+uvl4w==","repository":{"url":"git+https://github.com/wrannaman/redactpii-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Zero dependencies, blazing fast regex-based PII redaction with optional compliance dashboard integration. The modern fork of the abandoned 786k-download library.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{js,json,md}":["prettier --write"]},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","eslint":"8.57.0","rollup":"^4.53.1","vitest":"^4.0.8","del-cli":"^7.0.0","prettier":"^3.6.2","typescript":"^5.9.3","@types/node":"^24.10.0","lint-staged":"^16.2.6","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^4.0.8","@rollup/plugin-typescript":"^12.3.0","@typescript-eslint/parser":"7.18.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/node_1.0.11_1762955374657_0.37140887296948133","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@redactpii/node","version":"1.0.16","keywords":["pii","redaction","privacy","gdpr","compliance","data-protection","security","redactor","anonymization"],"author":{"name":"Andrew Pierno - RedactPII Team"},"license":"MIT","_id":"@redactpii/node@1.0.16","maintainers":[{"name":"wrannaman","email":"andrewpierno@gmail.com"}],"homepage":"https://redactpii.com","bugs":{"url":"https://github.com/wrannaman/redactpii-node/issues"},"dist":{"shasum":"8b8e9ba0d1bc93f64c74f10f649fc912acef0f46","tarball":"https://registry.npmjs.org/@redactpii/node/-/node-1.0.16.tgz","fileCount":29,"integrity":"sha512-8gVDlnmyAyqMbA3yjiKIFgT6hzMzKJzBLJZQbX6Jv8Qxe3axT3CQQq5ar8kI3vQvSB8VbTisL66Hg4eHJRycqQ==","signatures":[{"sig":"MEUCIQCjJe0+3lOepG5EQ6ed0jvnKYSrBYUoUfVH0bw0rzPmbQIgd+CItlBlQ0suEGDRwhmYSw8hR2+X4hW0o0qJmnqCEcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122108},"main":"lib/index.js","type":"module","_from":"file:redactpii-node-1.0.16.tgz","types":"lib/index.d.ts","module":"lib/index.mjs","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.mjs","require":"./lib/index.js"}},"scripts":{"lint":"eslint 'src/**/*.ts' 'test/**/*.ts'","test":"vitest run","build":"del lib && tsc --pretty && rollup -c","release":"node scripts/release.js","coverage":"vitest run --coverage","lint:fix":"eslint 'src/**/*.ts' 'test/**/*.ts' --fix","prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --write","typecheck":"tsc --noEmit","test:watch":"vitest","verify_all":"pnpm run typecheck && pnpm test && pnpm run test_prettier","test_prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --list-different","verify_all_strict":"pnpm run typecheck && pnpm run lint && pnpm test && pnpm run test_prettier"},"_npmUser":{"name":"wrannaman","email":"andrewpierno@gmail.com"},"prettier":{"printWidth":120,"singleQuote":true},"_resolved":"/tmp/84a11a212870da2595ae7d2899a75816/redactpii-node-1.0.16.tgz","_integrity":"sha512-8gVDlnmyAyqMbA3yjiKIFgT6hzMzKJzBLJZQbX6Jv8Qxe3axT3CQQq5ar8kI3vQvSB8VbTisL66Hg4eHJRycqQ==","repository":{"url":"git+https://github.com/wrannaman/redactpii-node.git","type":"git"},"_npmVersion":"10.8.2","description":"Zero dependencies, blazing fast regex-based PII redaction with optional compliance dashboard integration. The modern fork of the abandoned 786k-download library.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{js,json,md}":["prettier --write"]},"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","tslib":"^2.8.1","eslint":"8.57.0","rollup":"^4.53.1","vitest":"^4.0.8","del-cli":"^7.0.0","prettier":"^3.6.2","typescript":"^5.9.3","@types/node":"^24.10.0","lint-staged":"^16.2.6","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^4.0.8","@rollup/plugin-typescript":"^12.3.0","@typescript-eslint/parser":"7.18.0","@rollup/plugin-node-resolve":"^16.0.3","@typescript-eslint/eslint-plugin":"7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/node_1.0.16_1764512729434_0.1101477616731883","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@redactpii/node","version":"1.0.17","type":"module","description":"Zero dependencies, blazing fast regex-based PII redaction with optional compliance dashboard integration. The modern fork of the abandoned 786k-download library.","main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.mjs","require":"./lib/index.js"}},"repository":{"type":"git","url":"git+https://github.com/wrannaman/redactpii-node.git"},"homepage":"https://redactpii.com","author":{"name":"Andrew Pierno - RedactPII Team"},"license":"MIT","publishConfig":{"access":"public"},"keywords":["pii","redaction","privacy","gdpr","compliance","data-protection","security","redactor","anonymization"],"devDependencies":{"@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^16.0.3","@rollup/plugin-typescript":"^12.3.0","@types/node":"^24.10.0","@typescript-eslint/eslint-plugin":"7.18.0","@typescript-eslint/parser":"7.18.0","@vitest/coverage-v8":"^4.0.8","del-cli":"^7.0.0","eslint":"8.57.0","husky":"^9.1.7","lint-staged":"^16.2.6","prettier":"^3.6.2","rollup":"^4.53.1","tslib":"^2.8.1","typescript":"^5.9.3","vitest":"^4.0.8"},"prettier":{"singleQuote":true,"printWidth":120},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{js,json,md}":["prettier --write"]},"scripts":{"build":"del lib && tsc -p tsconfig.build.json --pretty && rollup -c","typecheck":"tsc --noEmit","lint":"eslint 'src/**/*.ts' 'test/**/*.ts'","lint:fix":"eslint 'src/**/*.ts' 'test/**/*.ts' --fix","verify_all":"pnpm run typecheck && pnpm test && pnpm run test_prettier","verify_all_strict":"pnpm run typecheck && pnpm run lint && pnpm test && pnpm run test_prettier","test":"vitest run","test:watch":"vitest","coverage":"vitest run --coverage","test_prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --list-different","prettier":"prettier './+(src|test)/**/*.+(js|ts|tsx)' --write","release":"node scripts/release.js"},"_id":"@redactpii/node@1.0.17","bugs":{"url":"https://github.com/wrannaman/redactpii-node/issues"},"_integrity":"sha512-+8wZFkrHslG5SAu7wc+OMKctpjqUFhnxzuBrOmj7Ry1ciIzMBVbdpodf35zMUpSYTjFZfzFU4dIB0OOg55wR2Q==","_resolved":"/private/var/folders/pz/9yym2whs5v54dpd_t_836vcc0000gn/T/4aaa12acea70033bbea05375b6c4cdc7/redactpii-node-1.0.17.tgz","_from":"file:redactpii-node-1.0.17.tgz","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-+8wZFkrHslG5SAu7wc+OMKctpjqUFhnxzuBrOmj7Ry1ciIzMBVbdpodf35zMUpSYTjFZfzFU4dIB0OOg55wR2Q==","shasum":"e0d2eb5bcb9d298967bebff877b2c5b7bdff0e45","tarball":"https://registry.npmjs.org/@redactpii/node/-/node-1.0.17.tgz","fileCount":25,"unpackedSize":70591,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDi1741ccR2NsTtJILdBpXnURX5KZujenvFps7s0GcQ5QIgWUSG5EpSsoqOJ4MUuEMSmoT6XY9BIkKHgIFxWMvpQzU="}]},"_npmUser":{"name":"wrannaman","email":"andrewpierno@gmail.com"},"directories":{},"maintainers":[{"name":"wrannaman","email":"andrewpierno@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/node_1.0.17_1776346382225_0.03633429905428698"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-08T15:41:46.408Z","modified":"2026-04-16T13:33:02.489Z","1.0.0":"2025-11-08T15:41:46.751Z","1.0.2":"2025-11-10T13:26:18.784Z","1.0.9":"2025-11-11T16:44:20.384Z","1.0.10":"2025-11-11T18:11:40.501Z","1.0.11":"2025-11-12T13:49:34.846Z","1.0.16":"2025-11-30T14:25:29.657Z","1.0.17":"2026-04-16T13:33:02.352Z"},"bugs":{"url":"https://github.com/wrannaman/redactpii-node/issues"},"author":{"name":"Andrew Pierno - RedactPII Team"},"license":"MIT","homepage":"https://redactpii.com","keywords":["pii","redaction","privacy","gdpr","compliance","data-protection","security","redactor","anonymization"],"repository":{"type":"git","url":"git+https://github.com/wrannaman/redactpii-node.git"},"description":"Zero dependencies, blazing fast regex-based PII redaction with optional compliance dashboard integration. The modern fork of the abandoned 786k-download library.","maintainers":[{"name":"wrannaman","email":"andrewpierno@gmail.com"}],"readme":"# @redactpii/node\n\n[![NPM Package](https://badge.fury.io/js/%40redactpii%2Fnode.svg)](https://www.npmjs.com/package/@redactpii/node)\n\n> **🔒 Simple PII redaction library for Node.js**\n\nA fast, zero-dependency library that redacts PII from text using regex patterns. Works completely offline. No API keys, no setup, just install and use.\n\n## 🚀 Installation\n\n```bash\nnpm install @redactpii/node\n# or\npnpm add @redactpii/node\n# or\nyarn add @redactpii/node\n```\n\n## 🔥 Quick Start\n\n```typescript\nimport { Redactor } from '@redactpii/node';\n\nconst redactor = new Redactor();\nconst clean = redactor.redact('Hi David Johnson, call 555-555-5555');\n// Result: \"Hi PERSON_NAME, call PHONE_NUMBER\"\n```\n\n## 🎯 Built-in PII Detection Patterns\n\nThe library includes regex patterns for:\n\n- **👤 Names** - Person identification (greeting-based detection)\n- **📧 Emails** - Email addresses\n- **📞 Phones** - US phone numbers (all formats)\n- **💳 Credit Cards** - Visa, Mastercard, Amex, Diners Club\n- **🆔 SSN** - US Social Security Numbers\n\n## 🤖 Use with AI APIs\n\nProtect user data before sending to OpenAI, Anthropic, or other LLM providers:\n\n```typescript\nimport { Redactor } from '@redactpii/node';\nimport OpenAI from 'openai';\n\nconst redactor = new Redactor();\nconst openai = new OpenAI();\n\n// Redact before sending to OpenAI\nconst userMessage = 'Hi, my email is john@example.com and my phone is 555-123-4567';\nconst cleanMessage = redactor.redact(userMessage);\n// \"Hi, my email is EMAIL_ADDRESS and my phone is PHONE_NUMBER\"\n\nconst completion = await openai.chat.completions.create({\n  messages: [{ role: 'user', content: cleanMessage }],\n  model: 'gpt-4',\n});\n```\n\nWorks with any API that accepts JSON:\n\n```typescript\n// Redact entire request payloads\nconst apiRequest = {\n  user: {\n    name: 'John Doe',\n    email: 'john@example.com',\n    notes: 'Call me at 555-123-4567',\n  },\n};\n\nconst cleanRequest = redactor.redactObject(apiRequest);\n// Send cleanRequest to your AI service\n```\n\n## 🔍 Check for PII Without Redacting\n\n```typescript\nconst redactor = new Redactor({ rules: { EMAIL: true } });\n\nif (redactor.hasPII('Contact test@example.com for details')) {\n  console.log('PII detected!');\n  const clean = redactor.redact('Contact test@example.com for details');\n}\n```\n\n## 📦 Redact Objects\n\n```typescript\nconst redactor = new Redactor({ rules: { EMAIL: true } });\n\nconst user = {\n  name: 'John Doe',\n  email: 'john@example.com',\n  profile: {\n    contact: 'contact@example.com',\n  },\n};\n\nconst clean = redactor.redactObject(user);\n// {\n//   name: 'John Doe',\n//   email: 'EMAIL_ADDRESS',\n//   profile: {\n//     contact: 'EMAIL_ADDRESS',\n//   },\n// }\n```\n\n## 🎨 Customization\n\n### Configure Rules\n\nEnable or disable specific PII detection patterns:\n\n```typescript\nconst redactor = new Redactor({\n  rules: {\n    CREDIT_CARD: true, // Enable credit card detection\n    EMAIL: true, // Enable email detection\n    NAME: false, // Disable name detection\n    PHONE: true, // Enable phone detection\n    SSN: false, // Disable SSN detection\n  },\n});\n```\n\n### Custom Regex Patterns\n\nAdd your own regex patterns for domain-specific PII:\n\n```typescript\nconst redactor = new Redactor({\n  rules: { EMAIL: true },\n  customRules: [\n    /\\b\\d{5}\\b/g, // 5-digit codes\n    /\\bSECRET-\\d+\\b/g, // Secret codes\n  ],\n});\n```\n\n### Global Replacement\n\nUse a single replacement string for all PII types:\n\n```typescript\nconst redactor = new Redactor({\n  rules: { EMAIL: true },\n  globalReplaceWith: '[REDACTED]', // All PII types use this replacement\n});\n\nredactor.redact('test@example.com'); // \"[REDACTED]\"\n```\n\n### Anonymization with Unique IDs\n\nReplace the same PII value with the same token throughout the text:\n\n```typescript\nconst redactor = new Redactor({\n  rules: { EMAIL: true, NAME: true },\n  anonymize: true, // Enable anonymization\n});\n\n// Same email gets same token\nconst text = 'Contact anne@example.com. Anne also uses anne@example.com for work.';\nconst result = redactor.redact(text);\n// Result: \"Contact EMAIL_1. PERSON_1 also uses EMAIL_1 for work.\"\n\n// Works across objects too\nconst user = {\n  primary: 'anne@example.com',\n  backup: 'anne@example.com', // Same value → same token\n  contact: 'bob@example.com', // Different value → different token\n};\nconst clean = redactor.redactObject(user);\n// {\n//   primary: 'EMAIL_1',\n//   backup: 'EMAIL_1',    // Same as primary\n//   contact: 'EMAIL_2'    // Different token\n// }\n```\n\n### Aggressive Mode\n\nUse more permissive regex patterns to catch obfuscated or unusual PII formatting:\n\n```typescript\nconst redactor = new Redactor({\n  rules: { EMAIL: true, CREDIT_CARD: true },\n  aggressive: true, // Enable aggressive mode\n});\n\n// Catches obfuscated emails\nredactor.redact('user [at] example [dot] com');\n// Result: \"EMAIL_ADDRESS\"\n\n// Catches partially masked credit cards\nredactor.redact('Card ending in ****-****-****-1234');\n// Result: \"Card ending in CREDIT_CARD_NUMBER\"\n\n// Normal mode (aggressive: false) is more conservative\n// and won't catch these variations\n```\n\n## ❓ FAQ\n\n**Is this regex-based?**  \nYes, this library uses regex patterns for detection. It's fast and works offline, but has limitations.\n\n**How does it handle misspellings or improperly formatted data?**  \nIt catches misspellings if the format is still valid (e.g., \"jhon@example.com\" would be detected because it's still a valid email format). However, it won't catch obfuscated or non-standard formats like \"john at example dot com\" or \"john[at]example[dot]com\" unless you enable `aggressive: true` mode, which uses more permissive patterns.\n\n**What determines what counts as PII?**  \nThe built-in patterns cover common, obvious PII types (emails, SSNs, credit cards, phone numbers, names in greetings). These are based on standard formats, not a specific compliance framework. For your specific needs, use `customRules` to add domain-specific patterns.\n\n**Anonymization vs Redaction?**  \nBy default, this library does **redaction** (replacement with labels like `EMAIL_ADDRESS`). However, you can enable **anonymization** by setting `anonymize: true`, which replaces the same PII value with the same unique token (e.g., `EMAIL_1`, `EMAIL_2`) throughout the text, preserving relationships while protecting privacy.\n","readmeFilename":"README.md"}