1. Home
  2. Docs
  3. Philter
  4. Configuration


Philter has many options to control how it operates. The options and how to configure them are described below.

Configuration Properties

How Philter runs and the types of data it filters are controlled via its properties file application.properties. A description of the available options is below. Any changes to these settings requires Philter to be restarted for the changes to take affect.

General Settings

These values configure the general operation operation of Philter.

Option Description Allowed Values Default Value
server.port The port Philter’s REST API listens on. Any available port. 8080
rest.api.enabled Whether or not Philter’s REST API is enabled. true,false true
metrics.enabled Enables metrics reporting via JMX. truefalse true
response.format The format in which filtered text will be returned either via the REST API or to the Kafka topic. For a description of the JSON format see the Philter API. jsonplain json


The REST API can be configured to use an SSL listener. When Philter is deployed via the AWS or Windows Azure marketplaces or DockerHub, SSL will already be enabled via a self-signed certificate. It is recommended you replace this self-signed certificate with a valid certificate from your organization. When configured, the SSL listener will be available on the port defined by server.port.

Option Description Allowed Values Default Value
server.ssl.key-store-type The type of keystore. PKCS12 or JKS No default value.
server.ssl.key-store Full path to the keystore file. File path. No default value.
server.ssl.key-store-password The keystore’s password. A valid password. No default value.
server.ssl.key-alias The certificate alias in the keystore. A valid alias. No default value.
security.require-ssl Whether or not SSL is enabled. true or false false

An example configuration is shown below:

# SSL certificate settings

The command that generated the self-signed certificate used above:

keytool -genkeypair -keypass Password123! -dname "CN=philter, O=philter, C=US\ -alias philter -keyalg RSA -keysize 4096 -storepass Password123! -storetype PKCS12 -keystore /opt/philter/ssl/philter.p12 -validity 3650

General Filters

These values configure the general filters. Note that all filters are enabled by default and a filter will only be disabled by setting the respective property to a value other than true.

Option Description Allowed Values Default Value
filter.city.enabled Enables filtering of US cities. truefalse true
filter.county.enabled Enables filtering of US counties. truefalse true
filter.credit.card.enabled Enables filtering of credit card numbers. truefalse true
filter.icd9.enabled Enables filtering of ICD-9 codes. truefalse true
filter.icd10.enabled Enables filtering of ICD-10 codes. truefalse true
filter.orangebook.enabled Enables filtering of OrangeBook medications. truefalse true
filter.date.enabled Enables filtering of dates. truefalse true
filter.email.enabled Enables filtering of email addresses. true,false true
filter.id.enabled Enables filtering of ID numbers (sequences of alphanumberic characters). truefalse true
filter.ip.enabled Enables filtering of IP (v4 and v6) addresses. truefalse true
filter.phone.enabled Enables filtering of phone numbers. truefalse true
filter.ssn.enabled Enables filtering of US social security numbers. truefalse true
filter.state.enabled Enables filtering of US states. truefalse true
filter.url.enabled Enables filtering of URLs. truefalse true
filter.vin.enabled Enables filtering of Vehicle Identification Numbers. truefalse true
filter.zipcode.enabled Enables filtering of US zip codes. truefalse true

Named-Entity Recognition Filters

These values configure the name-entity recognition models used to filter person names.

Option Description Allowed Values Default Value
filter.ner.enabled Enables filtering of names. truefalse true
filter.ner.models.directory Full path to the directory containing the NER models. Any local file system path ./models
filter.ner.confidence The confidence threshold for detected entities. Entities identified with a confidence value that is less than this value will not be filtered. Use this setting to tune extraction. A value of 0 means all entities are filtered. Integer values between 0 and 100. 0

Filter Weights

Weights allow you to customize the importance placed on each type of filter when performing PHI and PII detection without removal.

Option Description Allowed Values Default Value
filter.city.weight Weight value for US cities. Any integer value > 0 4
filter.county.weight Weight value for US counties. Any integer value > 0 3
filter.credit.card.weight Weight value for credit card numbers. Any integer value > 0 6
filter.icd9.weight Weight value for ICD-9 codes. Any integer value > 0 10
filter.icd10.weight Weight value for ICD-10 codes. Any integer value > 0 10
filter.orangebook.weight Weight value for OrangeBook medications. Any integer value > 0 10
filter.date.weight Weight value for dates. Any integer value > 0 1
filter.email.weight Weight value for email addresses. Any integer value > 0 8
filter.id.weight Weight value for ID numbers (sequences of alphanumberic characters). Any integer value > 0 8
filter.ip.weight Weight value for IP (v4 and v6) addresses. Any integer value > 0 8
filter.phone.weight Weight value for phone numbers. Any integer value > 0 8
filter.ssn.weight Weight value for US social security numbers. Any integer value > 0 10
filter.state.weight Weight value for US states. Any integer value > 0 2
filter.url.weight Weight value for URLs. Any integer value > 0 5
filter.vin.weight Weight value for Vehicle Identification Numbers. Any integer value > 0 2
filter.zipcode.weight Weight value for US zip codes. Any integer value > 0 3


See Anonymization for details on the anonymization capabilities.

Option Description Allowed Values Default Value
filter.city.anonymize Enables anonymizing US cities. truefalse false
filter.county.anonymize Enables anonymizing US counties. truefalse false
filter.icd9.anonymize Enables anonymizing ICD-9 codes. truefalse false
filter.icd10.anonymize Enables anonymizing ICD-10 codes. truefalse false
filter.orangebook.anonymize Enables anonymizing OrangeBook medications. truefalse false
filter.date.anonymize Enables anonymizing dates. truefalse false
filter.id.anonymize Enables anonymizing ID numbers (sequences of alphanumberic characters). truefalse false
filter.ip.anonymize Enables anonymizing IP (v4 and v6) addresses. truefalse false
filter.phone.anonymize Enables anonymizing phone numbers. truefalse false
filter.ssn.anonymize Enables anonymizing US social security numbers. truefalse false
filter.state.anonymize Enables anonymizing US states. truefalse false
filter.url.anonymize Enables anonymizing URLs. truefalse false
filter.vin.anonymize Enables anonymizing Vehicle Identification Numbers. truefalse false
filter.zipcode.anonymize Enables anonymizing US zip codes. truefalse false


These properties are required when using Philter streaming.

Option Description Allowed Values Default Value
kafka.topic.inbound The name of the incoming Kafka topic containing the PHI text. Any valid Kafka topic name phi
kafka.topic.outbound Any valid Kafka topic name The name of the outgoing Kafka topic for the filtered text. no-phi
kafka.group.id The group ID for the Kafka consumer. Any valid identifier A random UUID value.
kafka.brokers The Kafka brokers. Any valid Kafka broker endpoint(s) localhost:9092

Kafka Streaming SSL

Refer to the Apache Kafka documentation for more information on the following configuration settings.

Option Description Default Value
kafka.security.protocol The Kafka security protocol. No default value.
kafka.ssl.truststore.location The Kafka trust store. No default value.
kafka.ssl.truststore.password The Kafka trust store password. No default value.
kafka.ssl.keystore.location The Kafka key store. No default value.
kafka.ssl.keystore.password The Kafka key store password. No default value.
kafka.ssl.key.password The password of the private key in the key store file. No default value.
Was this article helpful to you? Yes No

How can we help?