Talk to the Team

Tell us about your stack and the privacy problems you're trying to solve. We typically respond within one business day.

Prefer email? support@philterd.ai

Prefer to skip the form? Pick a time on our calendar →
or send a message

Please do not enter PII or PHI in this form. If you need to share an example, use a sanitized one.

Open source redaction library

Phileas

Phileas is the core redaction, anonymization, masking, and replacement library that powers Philter. Embed it directly into your Java, Python, or .NET application when you want fine-grained control over the redaction pipeline without standing up another service. See Phileas in action in our multilingual chatbot case study.

Why Phileas

Three first-class languages

Reference implementation in Java, with feature-parity ports for Python and .NET. Pick the SDK that fits the stack you already have.

Policy-driven

JSON policies describe which entity types to detect, under what conditions, and how to handle each (redact, mask, encrypt, replace with a synthetic value, or pass through). Version-control your policies; deploy them through CI/CD.

Validated identifiers

Back a custom identifier with a checksum or structural validator, so it keeps only genuine values and rejects format-valid look-alikes. Built-in coverage for national and financial IDs (Canadian SIN, Brazilian CPF and CNPJ, Spanish DNI, French NIR, IBAN, SWIFT/BIC, and more), with identical behavior across Java, Python, and .NET.

Format-preserving

Encrypt SSNs so they still look like SSNs. Hash phone numbers so the format stays valid for downstream systems. Keep the data useful without exposing the identifiers.

Embeddable

Link Phileas directly into your application. No service to deploy, no network hop, no operational footprint. Redaction happens in-process on the data already in memory.

Battle-tested since 2017

Phileas is the engine underneath Philter, running in production at healthcare, legal, and financial customers since 2017. Years before the current wave of LLM-wrapper privacy tools. The library has been pressure-tested on the workloads where a privacy miss isn’t an option.

Permissive Apache license

Business-friendly licensing. No commercial review needed, no per-seat fees, no vendor lock-in. Use it however you need to.

Anatomy of Phileas

Phileas runs inside your application's process. The host code calls a single filter(text) entry point; the library reads a policy file and an optional NLP lens, then routes the text through three internal layers before returning redacted output. No network hop, no service to deploy, no data egress.

Code samples

Phileas exposes the same redaction surface across languages. The minimal “load a policy, redact one document” flow looks like this in each. The healthcare.json referenced below is a Phileas redaction policy: download a ready-made policy from the policy library or write your own, then point the code at it.

Java is the reference implementation. New features and entity types land in the Java library first; the Python and .NET libraries track its API surface and feature set as it evolves.

Install: Maven Central: ai.philterd:phileas:4.0.0

<!-- pom.xml -->
<dependency>
    <groupId>ai.philterd</groupId>
    <artifactId>phileas</artifactId>
    <version>4.0.0</version>
</dependency>

// Then, in your application:
import ai.philterd.phileas.Phileas;
import ai.philterd.phileas.model.policy.Policy;

// Load the policy that defines which entities to redact and how.
Policy policy = Policy.fromFile("healthcare.json");

// Initialize Phileas with the policy.
Phileas phileas = new Phileas(policy);

// Redact a single document.
String text = "Patient John Doe SSN 123-45-6789.";
String redacted = phileas.filter(text).getText();

System.out.println(redacted);
// -> Patient ******** SSN ***********.

Install: pip install phileas-redact

from phileas import Phileas

# Load the policy that defines which entities to redact and how.
ph = Phileas(policy="healthcare.json")

# Redact a single document.
result = ph.filter("Patient John Doe SSN 123-45-6789.")

print(result.text)
# -> Patient ******** SSN ***********.

Install: The .NET library is not yet published to NuGet. Build from source.

using Phileas;
using Phileas.Model;

// Load the policy that defines which entities to redact and how.
var policy = Policy.FromFile("healthcare.json");

// Initialize Phileas with the policy.
var phileas = new Phileas(policy);

// Redact a single document.
var result = phileas.Filter("Patient John Doe SSN 123-45-6789.");

Console.WriteLine(result.Text);
// -> Patient ******** SSN ***********.

How Phileas compares

The open source PII library most teams weigh Phileas against is Microsoft Presidio. Both are auditable and self-hosted, so the decision comes down to language runtimes, the policy model, and the manipulation side rather than where your data lives.

Phileas vs Microsoft Presidio is an honest, library-to-library breakdown, and migrate from Presidio maps recognizers to filters and anonymizer operators to PhiSQL, with before-and-after code.

Frequently asked questions

If something here isn’t covered, get in touch and we’ll answer.

What is Phileas?
Phileas is the open source library that finds and redacts PII and PHI in text. It runs in-process inside your application: the host code calls a single filter(text) entry point, Phileas reads a policy and an optional NLP lens, and returns redacted output. There is no service to deploy and no data egress. It is the engine underneath Philter.
How is Phileas different from Philter?
Phileas is a library you embed directly in your application; Philter wraps Phileas as a self-hosted REST API, shipping with NLP models and a friendlier operational surface. Same detection core either way. Choose Phileas when you want fine-grained, in-process control with no extra service; choose Philter when you want an HTTP endpoint other systems can call.
Which languages does Phileas support?
Three first-class languages: Java is the reference implementation, with feature-parity ports for Python and .NET. New features and entity types land in Java first; the Python and .NET libraries track its API surface as it evolves.
Does Phileas need a separate model server?
Not always. Regex patterns, dictionaries, and format validators (Luhn, SSN structure, date validity) run in-process with no extra service. For machine-learning detection, Phileas calls PhEye to run an NLP lens. You enable only the detection methods your policy actually needs.
How long has Phileas been around?
Phileas was first released in 2017 and has run in production at healthcare, legal, and financial customers ever since, years before the current wave of LLM-wrapper privacy tools. It has been pressure-tested on workloads where a privacy miss isn't an option.
Is Phileas open source?
Yes, under the permissive Apache License, version 2: no commercial review, no per-seat fees, and no vendor lock-in. The code is on GitHub.

Ready to build with Phileas?

Add it to your build from Maven Central or PyPI, build the .NET library from source, or work with our team directly. Pick the path that fits.

See your options