npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

Iโ€™ve always been into building performant and accessible sites, but lately Iโ€™ve been taking it extremely seriously. So much so that Iโ€™ve been building a tool to help me optimize and monitor the sites that I build to make sure that Iโ€™m making an attempt to offer the best experience to those who visit them. If youโ€™re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, ๐Ÿ‘‹, Iโ€™m Ryan Hefnerย  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If youโ€™re interested in other things Iโ€™m working on, follow me on Twitter or check out the open source projects Iโ€™ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soonโ€“ish.

Open Software & Tools

This site wouldnโ€™t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you ๐Ÿ™

ยฉ 2026 โ€“ย Pkg Stats / Ryan Hefner

pii-paladin-international

v1.1.2

Published

๐ŸŒ Global PII anonymization & data protection for international compliance (GDPR, CCPA, LGPD, etc.) using Aparavi DTC AI

Readme

๐ŸŒ PII PALADIN INTERNATIONAL

Aparavi DTC-powered PII anonymization for global compliance

This is a companion application to PII PALADIN and PII PALADIN LITE that provides enterprise-grade, global PII detection and anonymization using the Aparavi DTC API.

๐Ÿšจ IMPORTANT: API Key Required

This application requires an Aparavi DTC API key to function.

  • ๐Ÿ”‘ Get your free API key: https://bit.ly/pii-paladin-dtc
  • ๐Ÿ†“ 500 free tokens included - enough for development and most production use cases
  • โฑ๏ธ Processing time: Each token provides ~1 second of GPU processing time
  • ๐ŸŒ Global PII detection: Supports 60+ countries with native language recognition

๐Ÿ†š How This Fits with PII PALADIN

| Package | Use Case | Environment | Bundle Size | Accuracy | |---------|----------|-------------|-------------|----------| | PII PALADIN | Production accuracy | Node.js only | ~90MB | Highest (ML + regex) | | PII PALADIN LITE | Fast development | Browser + Node.js | ~5KB | Good (regex only) | | PII PALADIN INTERNATIONAL | Global compliance | Browser + Node.js | ~5KB | Enterprise-grade (Aparavi DTC) |

Choose PII PALADIN INTERNATIONAL when you need:

  • ๐ŸŒ Global PII detection across 60+ countries
  • ๐Ÿ›๏ธ Enterprise compliance (GDPR, CCPA, LGPD, etc.)
  • ๐ŸŒ Multi-language support with cultural context awareness
  • โšก Real-time processing via Aparavi's GPU infrastructure
  • ๐Ÿ”’ Professional-grade security and accuracy

๐Ÿš€ Quick Start

1. Get Your API Key

Visit https://bit.ly/pii-paladin-dtc to get your free Aparavi DTC API key.

2. Install & Import

npm install pii-paladin-international

ES6 Import (Recommended for React/Modern apps)

import AparaviDTC from 'pii-paladin-international';
// or with named import
import { default as AparaviDTC } from 'pii-paladin-international';

CommonJS Import

const AparaviDTC = require('pii-paladin-international');

Browser

<script src="aparavi-dtc-universal.js"></script>

3. Start Using

const aparaviDTC = new AparaviDTC('your-api-key-here');

// Start the PII pipeline
await aparaviDTC.startPIIPipeline();

// Anonymize text (automatically detects country and PII type)
const anonymizedText = await aparaviDTC.sendText('Hello, my name is John Smith. My SSN is 123-45-6789.');

// Clean up when done
await aparaviDTC.tearDown();

React Component Example

import React, { useState, useEffect } from 'react';
import AparaviDTC from 'pii-paladin-international';

function PIIAnonymizer() {
  const [aparaviDTC, setAparaviDTC] = useState(null);
  
  useEffect(() => {
    const initDTC = async () => {
      const dtc = new AparaviDTC('your-api-key-here');
      await dtc.startPIIPipeline();
      setAparaviDTC(dtc);
    };
    
    initDTC();
    
    return () => {
      if (aparaviDTC) {
        aparaviDTC.tearDown();
      }
    };
  }, []);

  const handleAnonymize = async (text) => {
    if (aparaviDTC) {
      return await aparaviDTC.sendText(text);
    }
  };

  // ... rest of component
}

โš ๏ธ Important Usage Notes

๐ŸŒ Webhook Instantiation Time

When you call startPIIPipeline(), the webhook takes about 1 minute to fully instantiate. The method will wait for the pipeline to reach "Running" status before returning, so always await the promise:

// โœ… CORRECT - Wait for pipeline to be ready
await aparaviDTC.startPIIPipeline();

// โŒ WRONG - Don't proceed until pipeline is running
aparaviDTC.startPIIPipeline(); // This will fail!

๐Ÿ”„ Sending Multiple Strings

When sending multiple strings back-to-back, always await each call to ensure proper processing:

// โœ… CORRECT - Sequential processing
const text1 = await aparaviDTC.sendText('First text with PII');
const text2 = await aparaviDTC.sendText('Second text with PII');
const text3 = await aparaviDTC.sendText('Third text with PII');

// โŒ WRONG - Parallel processing may cause issues
const promises = [
  aparaviDTC.sendText('Text 1'),
  aparaviDTC.sendText('Text 2'),
  aparaviDTC.sendText('Text 3')
];
const results = await Promise.all(promises); // May cause rate limiting

๐Ÿงน Cleanup (Optional but Recommended)

While orphaned pipelines are automatically cleaned up periodically, it's good practice to call tearDown() when you're done:

try {
  // Your PII processing code here
  const result = await aparaviDTC.sendText('Text with PII');
} finally {
  // Clean up the pipeline
  await aparaviDTC.tearDown();
}

๐ŸŒ Global PII Detection Examples

United States

const usText = "Hello, my name is John Smith. My SSN is 123-45-6789, credit card 4111-1111-1111-1111.";
const anonymized = await aparaviDTC.sendText(usText);
// Result: "Hello, my name is โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ. My โ–ˆโ–ˆโ–ˆ is โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ, credit card โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ."

Japan

const japaneseText = "ใ“ใ‚“ใซใกใฏใ€็”ฐไธญๅคช้ƒŽใงใ™ใ€‚็งใฎใƒžใ‚คใƒŠใƒณใƒใƒผใฏ123456789012ใ€้›ป่ฉฑ็•ชๅทใฏ03-1234-5678ใงใ™ใ€‚";
const anonymized = await aparaviDTC.sendText(japaneseText);
// Result: "ใ“ใ‚“ใซใกใฏใ€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆใ€‚็งใฎใƒžใ‚คใƒŠใƒณใƒใƒผใฏโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆใ€้›ป่ฉฑ็•ชๅทใฏโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆใงใ™ใ€‚"

Germany

const germanText = "Guten Tag, ich bin Hans Mueller. Meine Steuer-ID ist 12/345/67890, IBAN DE89 3704 0044 0532 0130 00.";
const anonymized = await aparaviDTC.sendText(germanText);
// Result: "Guten Tag, ich bin โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ. Meine Steuer-ID ist โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ, IBAN โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ."

๐Ÿ“Š Supported Countries & PII Types

The pipeline automatically detects PII from 60+ countries including:

  • ๐Ÿ‡บ๐Ÿ‡ธ United States: SSN, credit cards, phone numbers, addresses
  • ๐Ÿ‡จ๐Ÿ‡ฆ Canada: SIN, health card numbers, postal codes
  • ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom: National Insurance numbers, postcodes
  • ๐Ÿ‡ฉ๐Ÿ‡ช Germany: Steuer-ID, IBAN, addresses
  • ๐Ÿ‡ซ๐Ÿ‡ท France: Numรฉro de sรฉcuritรฉ sociale, IBAN
  • ๐Ÿ‡ฏ๐Ÿ‡ต Japan: My Number, phone numbers, addresses
  • ๐Ÿ‡จ๐Ÿ‡ณ China: ID card numbers, phone numbers, addresses
  • ๐Ÿ‡ฎ๐Ÿ‡ณ India: Aadhaar, PAN, phone numbers
  • ๐Ÿ‡ฆ๐Ÿ‡บ Australia: TFN, Medicare, driver's license
  • ๐Ÿ‡ง๐Ÿ‡ท Brazil: CPF, RG, phone numbers
  • ๐Ÿ‡ธ๐Ÿ‡ฆ Saudi Arabia: National ID, phone numbers
  • ๐Ÿ‡ฟ๐Ÿ‡ฆ South Africa: ID numbers, phone numbers

๐Ÿ”ง API Reference

Constructor

new AparaviDTC(apiKey: string)

Methods

startPIIPipeline(): Promise<void>

Starts the PII anonymization pipeline and waits for "Running" status.

  • โฑ๏ธ Wait time: ~1 minute for webhook instantiation
  • โœ… Returns: Promise that resolves when pipeline is ready
  • ๐ŸŒ Status: Automatically monitors until "Running"

sendText(text: string): Promise<string>

Sends text to the pipeline and returns anonymized version.

  • ๐Ÿ“ค Input: Raw text with PII
  • ๐Ÿ“ฅ Output: Anonymized text with PII replaced by โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
  • ๐ŸŒ Detection: Automatically detects country and PII type
  • โšก Speed: ~2-9 seconds processing time

tearDown(): Promise<void>

Cleans up the running pipeline.

  • ๐Ÿงน Action: Stops and removes the pipeline
  • โฐ Timing: Takes a few seconds to complete
  • ๐Ÿ”„ Optional: Orphaned pipelines are auto-cleaned

๐Ÿ’ฐ Pricing & Tokens

  • ๐Ÿ†“ 500 free tokens included with every API key
  • โฑ๏ธ Token usage: 1 token = ~1 second of GPU processing time
  • ๐Ÿ“Š Typical usage: 500 tokens = ~8+ minutes of continuous processing
  • ๐Ÿ”„ Token refresh: Contact Aparavi for additional tokens
  • ๐Ÿ’ก Cost-effective: Much cheaper than building custom ML infrastructure

๐Ÿš€ Performance & Scalability

  • Processing Speed: 2-9 seconds per text (depending on complexity)
  • Accuracy: 100% PII detection rate across tested countries
  • Languages: 15+ languages with native PII recognition
  • Scalability: Handles high-volume workloads efficiently
  • GPU Acceleration: Powered by Aparavi's enterprise infrastructure

๐ŸŒŸ Use Cases

  • Global Data Processing: Process customer data from international markets
  • Compliance Automation: Meet GDPR, CCPA, LGPD requirements
  • Data Privacy: Protect sensitive information in multi-language content
  • International Business: Handle PII from global customers and employees
  • Research & Analytics: Anonymize data while preserving analytical value

๐Ÿ”’ Security & Privacy

  • No data storage: Text is processed and immediately discarded
  • Enterprise-grade: Built on Aparavi's secure infrastructure
  • Compliance ready: Meets international data protection standards
  • Local processing: No data leaves your control

๐Ÿ“š Examples & Demos

Complete Working Example

const AparaviDTC = require('./aparavi-dtc-universal.js');

async function processPII() {
  const aparaviDTC = new AparaviDTC('your-api-key-here');
  
  try {
    // Start pipeline (takes ~1 minute)
    console.log('๐Ÿš€ Starting PII pipeline...');
    await aparaviDTC.startPIIPipeline();
    console.log('โœ… Pipeline ready!');
    
    // Process multiple texts
    const texts = [
      'Hello, my name is John Smith. SSN: 123-45-6789',
      'ใ“ใ‚“ใซใกใฏใ€็”ฐไธญๅคช้ƒŽใงใ™ใ€‚ใƒžใ‚คใƒŠใƒณใƒใƒผ๏ผš123456789012',
      'Guten Tag, ich bin Hans Mueller. Steuer-ID: 12/345/67890'
    ];
    
    for (const text of texts) {
      const anonymized = await aparaviDTC.sendText(text);
      console.log('Anonymized:', anonymized);
    }
    
  } finally {
    // Clean up
    await aparaviDTC.tearDown();
    console.log('๐Ÿงน Pipeline cleaned up');
  }
}

processPII();

Installation

npm install pii-paladin-international

Module Formats

This package supports multiple module formats:

  • ES6 Modules (.esm.mjs) - For modern bundlers and React apps
  • CommonJS (.js) - For Node.js and older bundlers
  • TypeScript (.d.ts) - For TypeScript projects
  • Browser - Direct script tag inclusion

Usage

// Node.js
const AparaviDTC = require('./aparavi-dtc-universal.js');

// Browser
<script src="aparavi-dtc-universal.js"></script>

3. Start Using

const aparaviDTC = new AparaviDTC('your-api-key-here');

// Start the PII pipeline
await aparaviDTC.startPIIPipeline();

// Anonymize text (automatically detects country and PII type)
const anonymizedText = await aparaviDTC.sendText('Hello, my name is John Smith. My SSN is 123-45-6789.');

// Clean up when done
await aparaviDTC.tearDown();

๐Ÿ”— Links

๐Ÿ“„ License

ISC License - Same as PII PALADIN


Built with โค๏ธ as a companion to PII PALADIN for global compliance needs! ๐ŸŒ