{"_id":"@ai4privacy/ai4privacy","name":"@ai4privacy/ai4privacy","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ai4privacy/ai4privacy","version":"0.1.0","description":"PII detection and masking using AI4Privacy transformer models","main":"src/index.js","type":"module","exports":{".":"./src/index.js"},"scripts":{"test":"node test/test.js"},"keywords":["pii","privacy","anonymization","masking","gdpr","nlp","transformers","ai4privacy"],"author":{"name":"AI4Privacy","email":"developers@ai4privacy.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/AI4Privacy/a4p-javascript-module.git"},"homepage":"https://ai4privacy.com","dependencies":{"@huggingface/transformers":"^3.0.0"},"engines":{"node":">=18.0.0"},"gitHead":"02eddadeafa2abc88531387743a6b1e3124d54b6","_id":"@ai4privacy/ai4privacy@0.1.0","bugs":{"url":"https://github.com/AI4Privacy/a4p-javascript-module/issues"},"_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-RLJ19OMjru853hAGPMRiEA522Ont7y2urEcu4N7cFqjE2cS4e9EgMhoIevvbUAssybf89ho0+a2yGSZTWS/uTw==","shasum":"711be36bae8049b9b07d08e014dbbba49eec35c8","tarball":"https://registry.npmjs.org/@ai4privacy/ai4privacy/-/ai4privacy-0.1.0.tgz","fileCount":10,"unpackedSize":24548,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDkFh1lvKK5BNle8NLYIFZ1gT/bp170+UOzY79vgtDDEAiBMNsRf3T+8cQSS6AqDqn0NEr3DF8Kg6Vxc55K7c6H/LA=="}]},"_npmUser":{"name":"ai4privacy","email":"admin@ai4privacy.com"},"directories":{},"maintainers":[{"name":"ai4privacy","email":"admin@ai4privacy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai4privacy_0.1.0_1774431509047_0.9953214358376821"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-25T09:38:28.995Z","0.1.0":"2026-03-25T09:38:29.189Z","modified":"2026-03-25T09:38:29.344Z"},"maintainers":[{"name":"ai4privacy","email":"admin@ai4privacy.com"}],"description":"PII detection and masking using AI4Privacy transformer models","homepage":"https://ai4privacy.com","keywords":["pii","privacy","anonymization","masking","gdpr","nlp","transformers","ai4privacy"],"repository":{"type":"git","url":"git+https://github.com/AI4Privacy/a4p-javascript-module.git"},"author":{"name":"AI4Privacy","email":"developers@ai4privacy.com"},"bugs":{"url":"https://github.com/AI4Privacy/a4p-javascript-module/issues"},"license":"MIT","readme":"# ai4privacy JavaScript module\n\nA JavaScript/Node.js package for state-of-the-art PII detection and masking using AI4Privacy transformer models.\n\n## Features\n- **Protect Mode:** Anonymize text by replacing detected PII with placeholders.\n- **Observe Mode:** Get statistics and a detailed privacy mask of found PII without altering the original text.\n- **Reidentify:** Restore original values from masked text using the replacements list.\n- **Multiple Models:** English-specific, multilingual, and categorical detection.\n- **Tunable Sensitivity:** Adjustable `scoreThreshold` to balance detection accuracy.\n\n## Installation\n```bash\nnpm install @ai4privacy/ai4privacy\n```\n\n## Quick Start\n\n```javascript\nimport { protect } from \"@ai4privacy/ai4privacy\";\n\nconst maskedText = await protect(\"Email me at developers@ai4privacy.com or call me at +41763223001.\");\nconsole.log(maskedText);\n// Expected: Email me at [PII_1] or call me at [PII_2]\n```\n\n## Advanced Usage\n\n### Multilingual Support\n```javascript\nimport { protect } from \"@ai4privacy/ai4privacy\";\n\nconst masked = await protect(\"Je m'appelle Pierre et j'habite a Paris.\", {\n  multilingual: true,\n});\nconsole.log(masked);\n// Expected: Je m'appelle [PII_1] et j'habite a [PII_2]\n```\n\n### Categorical PII Detection\n```javascript\nimport { protect } from \"@ai4privacy/ai4privacy\";\n\nconst details = await protect(\"Senden Sie es an Eva Schmidt.\", {\n  classifyPii: true,\n  verbose: true,\n});\nconsole.log(details.replacements.map((r) => r.label));\n// Expected: ['GIVENNAME', 'SURNAME']\n```\n\n### Observe Mode\n```javascript\nimport { observe } from \"@ai4privacy/ai4privacy\";\n\nconst report = await observe(\"My name is Alice and I live in Berlin.\", {\n  classifyPii: true,\n});\nconsole.log(JSON.stringify(report, null, 2));\n```\n\n### Reidentify\n```javascript\nimport { protect, reidentify } from \"@ai4privacy/ai4privacy\";\n\nconst result = await protect(\"Contact John at john@example.com\", { verbose: true });\nconst original = reidentify(result.maskedText, result.replacements);\nconsole.log(original);\n// Expected: Contact John at john@example.com\n```\n\n### Adjusting Sensitivity\n```javascript\nimport { protect } from \"@ai4privacy/ai4privacy\";\n\n// High precision\nconst highPrec = await protect(\"Maybe this is a name. Contact John.\", {\n  scoreThreshold: 0.5,\n});\n\n// High sensitivity\nconst highSens = await protect(\"Maybe this is a name. Contact John.\", {\n  scoreThreshold: 0.001,\n});\n```\n\n## Disclaimer\n\nAI4Privacy is trained on the world's largest open-source privacy dataset. For production use, please evaluate results carefully on your own datasets. For assistance, contact us at https://ai4privacy.com or email support@ai4privacy.com.\n","readmeFilename":"README.md","_rev":"1-f8388de0a3329d4fb907fd3f155ecb77"}