What This API Does
- Deterministic detection and redaction using explicit pattern matching and validation rules (e.g. checksums for credit cards)
- Ruleset versions are pinned to ensure reproducible outputs
- Single request → response HTTPS API
- No payload storage or data retention
What This API Explicitly Does Not Detect
- Personal names
- Physical or mailing addresses
- Dates of birth
- Usernames, user IDs, or account identifiers
- Ticket numbers or internal references
- Contextual or inferred personal data
If an identifier is not listed under “Supported Identifier Types”, it is intentionally out of scope.
“High-risk” refers only to regulated or commonly restricted technical identifiers, not contextual or inferred personal data.
Supported Identifier Types (Ruleset-Pinned)
- Email addresses
- Phone numbers (international formats)
- Social Security numbers (US)
- Credit card numbers (format + checksum validated)
- IP addresses (IPv4 and IPv6)
Detection is limited strictly to the identifier types and patterns defined in each ruleset version. New identifier types are introduced only via new major ruleset versions.
Who This Is For
- AI pipelines that must exclude regulated identifiers
- Logging, support, or analytics flows with PII risk
- Teams that need reproducible, testable sanitization
Who This Is Not For
- Full PII discovery or compliance automation
- Name, address, or free-text entity detection
- Probabilistic or “best-effort” redaction
Why This Exists
Many teams end up maintaining ad-hoc identifier filtering logic inside application code, logging pipelines, or AI integrations.
Over time, small changes in behavior make data handling harder to reason about, test, and audit.
maskify exists to provide a narrow, well-defined sanitization boundary with deterministic behavior and explicit limits.
How It Works
- Receive a JSON request payload
- Scan text using a fixed ruleset version
- Redact matched identifiers
- Return sanitized output with detection metadata
The same input and ruleset version will always produce the same output.
API Example
POST /v1/redact
Content-Type: application/json
X-API-Key: YOUR_API_KEY
{
"text": "Contact me at jane.doe@example.com or +1 415 555 2671."
}
{
"request_id": "dfe22134-0ead-4ea6-9cd7-66c635664efc",
"ruleset_version": "pii-detect-v1.0.0",
"status": "ok",
"coverage": {
"guaranteed": ["email", "phone", "credit_card", "ssn_us", "ip_address"],
"excluded": ["names", "addresses", "dob", "user_ids", "free_text_identifiers"]
},
"pii_found": [
{
"category": "email",
"start_offset": 14,
"end_offset": 35
},
{
"category": "phone",
"start_offset": 39,
"end_offset": 55
}
],
"redacted_text": "Contact me at [EMAIL] or [PHONE]."
}
Plain HTTPS and JSON. No SDKs. No client-side processing.
Design Guarantees
- Deterministic outputs
- Ruleset-pinned behavior
- No machine learning or model drift
- No payload storage or secondary use
- Fails closed on malformed or unsupported input
If an error occurs, no partially sanitized output is returned.
Data Handling & Security Posture
- Request bodies are processed in-memory only
- No storage of request payloads or derived data
- Only minimal operational metadata is logged (timestamps, status codes)
- No training, inspection, or secondary use of customer data
- All traffic served over TLS
- Rulesets are versioned and never modified in place
maskify is designed to be a low-trust, low-retention component suitable for security-sensitive environments.
Ruleset Versions
Current ruleset: pii-detect-v1.0.0
Breaking changes are introduced only via new major ruleset versions.
Explicit Limitations
maskify does not attempt to remove all personal data. It detects only the identifier types explicitly listed above.
This constraint is intentional and treated as a product feature.
Join the Private Preview
maskify is intended for developers and teams that need predictable, auditable identifier redaction before sending data to AI systems or third-party services.
To request preview access, email: api@maskify.dev
Current status: Private preview. Access is granted selectively while the API and onboarding are finalized.
Pricing is usage-based and designed for low-volume, high-trust workloads. maskify is intentionally not positioned as a freemium or high-throughput API.