Three first-class languages
Reference implementation in Java, with feature-parity ports for Python and Go. Pick the SDK that fits the stack you already have.
Open source redaction library
Phileas is the core redaction, anonymization, masking, and replacement library that powers Philter. Embed it directly into your Java, Python, or Go 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.
Reference implementation in Java, with feature-parity ports for Python and Go. Pick the SDK that fits the stack you already have.
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.
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.
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.
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.
Business-friendly licensing. No commercial review needed, no per-seat fees, no vendor lock-in. Use it however you need to.
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.
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, .NET, and Go libraries track its API surface and feature set as it evolves.
Install: Maven Central: ai.philterd:phileas:3.3.0
<!-- pom.xml -->
<dependency>
<groupId>ai.philterd</groupId>
<artifactId>phileas</artifactId>
<version>3.3.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 ***********.
Install: go get github.com/philterd/go-phileas
package main
import (
"fmt"
"log"
"github.com/philterd/go-phileas"
)
func main() {
// Load the policy that defines which entities to redact and how.
policy, err := phileas.LoadPolicy("healthcare.json")
if err != nil {
log.Fatal(err)
}
// Initialize Phileas with the policy.
ph := phileas.New(policy)
// Redact a single document.
result, err := ph.Filter("Patient John Doe SSN 123-45-6789.")
if err != nil {
log.Fatal(err)
}
fmt.Println(result.Text)
// -> Patient ******** SSN ***********.
}
Three ways to get going: deploy the open source yourself, spin it up from a cloud marketplace, or work with our team directly. Pick the path that fits.