Deterministic PII Redaction for LLMs and Application Logs

Zero-retention API to securely mask sensitive data in production pipelines and AI workflows.

Stop leaking PII into your LLMs. Maskify is a deterministic, zero-retention API that removes sensitive data before prompts, logs, or third-party AI ever see it.

No machine learning • No hallucinations • No compliance guesswork

GDPR-friendly • SOC-aware • Zero retention • Deterministic by design

Built for developers who need predictable, audit-safe PII masking in production LLM pipelines.

Want to try it first? Use the free PII redaction tool →


safe_prompt = maskify.redact(user_prompt)  # removes PII
response = llm.call(safe_prompt)            # safe for production
    

One line between user input and your LLM prevents permanent PII leaks.

Email only • No sales calls • Built for production systems

PII leaks in LLMs and logs are permanent

One leaked credit card, SSN, or email inside an LLM prompt or log stream is a compliance incident, a legal liability, and a permanent record you don't control.

Once PII leaves your system, you've lost control — and audits don't care whether it was accidental.

Maskify exists to make that impossible.

Deterministic PII redaction API — by design

Maskify is a rule-based PII masking API designed for LLM applications, logging pipelines, and data processing systems where accuracy is mandatory.

Why deterministic PII redaction beats AI-based approaches

No model drift

Models change. Regulations don't. Maskify's behavior is stable today, next year, and during audits.

Debuggable by humans

You can write unit tests, reason about failures, and know exactly why something was redacted.

Audit-ready output

Every decision is rule-based, documented, and defensible. No “the model decided.”

False positives are outages

AI redaction breaks schemas, corrupts logs, and silently drops data. Deterministic systems fail loudly — or not at all.

What Maskify redacts

Maskify redacts fixed-format personally identifiable information (PII) — the identifiers regulators care about and deterministic systems can detect with certainty.

Maskify intentionally focuses on high-confidence, regulator-defined identifiers. If detection isn't provably correct, we don't ship it.

Maskify deterministically redacts regulator-defined PII formats with zero false positives.

Identifier Validation Replacement token
Credit cards Format + Luhn checksum [CREDIT_CARD]
US SSN Pattern + area rules [SSN]
Email addresses RFC-compliant regex [EMAIL]
Phone numbers International formats [PHONE]
IP addresses IPv4 + IPv6 [IP_ADDRESS]

Coverage expands cautiously. Accuracy always wins over breadth.

What Maskify intentionally does NOT redact

Probabilistic detection creates false positives, broken pipelines, and audit risk. We refuse to ship that.

These categories require probabilistic judgment and create audit risk.

How Maskify fits into LLM and logging pipelines

  1. Your application sends text or structured JSON
  2. Maskify scans and redacts in memory
  3. You forward sanitized data to LLMs, logs, or third-party services

Want a deeper breakdown of Maskify's architecture, privacy model, and deterministic rules? How deterministic PII redaction works for LLMs →

See Maskify catch and remove sensitive data

Realistic payloads. Deterministic results. No AI guesswork.

Skimming? Look for Response blocks — that's what your system receives.

Below are real PII redaction API examples showing deterministic detection and masking for both text and JSON payloads.

PII Detection — Unstructured Text
Request
{
  "text": "Customer email alex.smith@example.com called from +1 (415) 555-0199 and used card 4000-1234-5678-9010 from IP 203.0.113.42. SSN provided: 078-05-1120."
}           
Response
{
  "status": "ok",
  "pii_found": [
    { "category": "email" },
    { "category": "phone" },
    { "category": "credit_card" },
    { "category": "ip_address" },
    { "category": "ssn" }
  ]
}

Maskify scans free-form text and pinpoints regulated identifiers with deterministic rules — no ML, no false “maybe”.

PII Detection — Structured JSON
Request
{
  "user": {
    "email": "alex.smith@example.com",
    "phones": ["+1 (415) 555-0199"]
  },
  "session": {
    "ip_address": "203.0.113.42"
  },
  "payment": {
    "card_number": "4000 1234 5678 9010",
    "billing_email": "billing+alex@example.com"
  },
  "verification": {
    "provided_ssn": "078-05-1120"
  }
}
Response
{
  "status": "ok",
  "pii_found": [
    {
      "category": "email",
      "path": "user.email",
      "start_offset": 0,
      "end_offset": 22
    },
    {
      "category": "phone",
      "path": "user.phones[0]",
      "start_offset": 0,
      "end_offset": 17
    },
    {
      "category": "ip_address",
      "path": "session.ip_address",
      "start_offset": 0,
      "end_offset": 12
    },
    {
      "category": "credit_card",
      "path": "payment.card_number",
      "start_offset": 0,
      "end_offset": 19
    },
    {
      "category": "email",
      "path": "payment.billing_email",
      "start_offset": 0,
      "end_offset": 24
    },
    {
      "category": "ssn",
      "path": "verification.provided_ssn",
      "start_offset": 0,
      "end_offset": 11
    }
  ]
}

Structured data stays structured. Maskify returns precise JSON paths so engineers know exactly which fields triggered detection.

PII Redaction — Unstructured Text
Original
{
  "text": "Customer email alex.smith@example.com called from +1 (415) 555-0199 and used card 4000-1234-5678-9010 from IP 203.0.113.42. SSN provided: 078-05-1120."
}           
Sanitized Output
{
  "redacted_text": "Customer email [EMAIL] called from [PHONE] and used card [CREDIT_CARD] from IP [IP_ADDRESS]. SSN provided: [SSN]."
}

Sensitive values are replaced with deterministic tokens — safe for LLM prompts, logs, and analytics pipelines.

PII Redaction — Structured JSON
Original
{
  "event_id": "evt_9f3c2a71",
  "timestamp": "2026-01-12T09:41:00Z",
  "event_type": "checkout_failed",
  "user": {
    "id": "user_48291",
    "name": "Alex Smith",
    "email": "alex.smith@example.com",
    "phones": [
      "+1 (415) 555-0199",
      "+1 (628) 555-0142"
    ]
  },
  "session": {
    "ip_address": "203.0.113.42",
    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_2) AppleWebKit/537.36"
  },
  "payment": {
    "method": "card",
    "card_number": "4000 1234 5678 9010",
    "billing_email": "billing+alex@example.com",
    "amount": 249.99,
    "currency": "USD"
  },
  "verification": {
    "type": "identity_check",
    "provided_ssn": "078-05-1120"
  },
  "notes": "User retried checkout twice and requested confirmation via email."
}
Sanitized Output
{
  "request_id": "62cf3804-daed-47c6-a589-4ba0152f83f5",
  "ruleset_version": "pii-detect-v1.0.0",
  "status": "ok",
  "redacted_text": null,
  "redacted_data": {
    "event_id": "evt_9f3c2a71",
    "timestamp": "2026-01-12T09:41:00Z",
    "event_type": "checkout_failed",
    "user": {
      "id": "user_48291",
      "name": "Alex Smith",
      "email": "[EMAIL]",
      "phones": [
        "[PHONE]",
        "[PHONE]"
      ]
    },
    "session": {
      "ip_address": "[IP_ADDRESS]",
      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_2) AppleWebKit/537.36"
    },
    "payment": {
      "method": "card",
      "card_number": "[CREDIT_CARD]",
      "billing_email": "[EMAIL]",
      "amount": 249.99,
      "currency": "USD"
    },
    "verification": {
      "type": "identity_check",
      "provided_ssn": "[SSN]"
    },
    "notes": "User retried checkout twice and requested confirmation via email."
  }
}

Nested JSON is redacted in place — sensitive fields replaced, structure preserved, and non-PII left untouched.

Where Maskify runs in production LLM and logging systems

Security & privacy guarantees

Make PII leaks impossible

Request access to the deterministic PII redaction API.

Get preview API access

Preview access • No sales calls • No contracts