Skip to content

Commit f33a78c

Browse files
authored
Merge pull request #35 from philterd/phileas-medical-conditions
Updates to support Phileas medical conditions
2 parents 7d125e1 + c4da2bb commit f33a78c

6 files changed

Lines changed: 367 additions & 13 deletions

File tree

distribution/policies/default.json

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,30 @@
2626
}
2727
},
2828
"identifiers": {
29+
"medicalCondition": {
30+
"removePunctuation": false,
31+
"thresholds": {},
32+
"phEyeConfiguration": {
33+
"endpoint": "http://philter-ph-eye-medical-conditions-1:5000",
34+
"timeout": 600,
35+
"maxIdleConnections": 30,
36+
"labels": ["DISEASE_DISORDER"]
37+
},
38+
"enabled": true,
39+
"ignored": [],
40+
"ignoredFiles": [],
41+
"ignoredPatterns": [],
42+
"windowSize": 0,
43+
"priority": 0
44+
},
2945
"person": {
3046
"removePunctuation": false,
3147
"thresholds": {},
3248
"phEyeConfiguration": {
3349
"endpoint": "http://philter-ph-eye-1:5000",
3450
"timeout": 600,
3551
"maxIdleConnections": 30,
36-
"labels": [
37-
"Person"
38-
]
52+
"labels": ["Person"]
3953
},
4054
"enabled": true,
4155
"ignored": [],

distribution/policies/medical.json

Lines changed: 289 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,289 @@
1+
{
2+
"name": "default",
3+
"config": {
4+
"splitting": {
5+
"enabled": true,
6+
"threshold": 384,
7+
"method": "width"
8+
},
9+
"pdf": {
10+
"redactionColor": "black",
11+
"showReplacement": false,
12+
"replacementFont": "helvetica",
13+
"replacementMaxFontSize": 12.0,
14+
"scale": 0.25,
15+
"dpi": 150,
16+
"compressionQuality": 1.0,
17+
"preserveUnredactedPages": false
18+
},
19+
"postFilters": {
20+
"removeTrailingPeriods": true,
21+
"removeTrailingSpaces": true,
22+
"removeTrailingNewLines": true
23+
},
24+
"analysis": {
25+
"identification": true
26+
}
27+
},
28+
"identifiers": {
29+
"person": {
30+
"removePunctuation": false,
31+
"thresholds": {},
32+
"phEyeConfiguration": {
33+
"endpoint": "http://philter-ph-eye-1:5000",
34+
"timeout": 600,
35+
"maxIdleConnections": 30,
36+
"labels": ["Person"]
37+
},
38+
"enabled": true,
39+
"ignored": [],
40+
"ignoredFiles": [],
41+
"ignoredPatterns": [],
42+
"windowSize": 0,
43+
"priority": 0
44+
},
45+
"age": {
46+
"ageFilterStrategies": [
47+
{
48+
"filterType": "AGE",
49+
"id": "0405cc0f-bd12-409c-8dd4-1f06fc6dd2e3",
50+
"strategy": "REDACT",
51+
"redactionFormat": "{{{REDACTED-%t}}}",
52+
"replacementScope": "DOCUMENT",
53+
"staticReplacement": "",
54+
"maskCharacter": "*",
55+
"maskLength": "SAME",
56+
"truncateCharacter": "*",
57+
"truncateDirection": "LEADING",
58+
"condition": "",
59+
"salt": false
60+
}
61+
],
62+
"enabled": true,
63+
"ignored": [],
64+
"ignoredFiles": [],
65+
"ignoredPatterns": [],
66+
"windowSize": 0,
67+
"priority": 0
68+
},
69+
"creditCard": {
70+
"onlyValidCreditCardNumbers": true,
71+
"creditCardFilterStrategies": [
72+
{
73+
"filterType": "CREDIT_CARD",
74+
"id": "39cb9e95-3538-4fde-8df9-f71deedf0c1d",
75+
"strategy": "REDACT",
76+
"redactionFormat": "{{{REDACTED-%t}}}",
77+
"replacementScope": "DOCUMENT",
78+
"staticReplacement": "",
79+
"maskCharacter": "*",
80+
"maskLength": "SAME",
81+
"truncateCharacter": "*",
82+
"truncateDirection": "LEADING",
83+
"condition": "",
84+
"salt": false
85+
}
86+
],
87+
"ignoreWhenInUnixTimestamp": false,
88+
"onlyWordBoundaries": true,
89+
"enabled": true,
90+
"ignored": [],
91+
"ignoredFiles": [],
92+
"ignoredPatterns": [],
93+
"windowSize": 0,
94+
"priority": 0
95+
},
96+
"date": {
97+
"onlyValidDates": false,
98+
"dateFilterStrategies": [
99+
{
100+
"filterType": "DATE",
101+
"shiftRandom": false,
102+
"shiftDays": 0,
103+
"shiftMonths": 0,
104+
"shiftYears": 0,
105+
"futureDates": false,
106+
"id": "0db54638-797c-4806-82e6-e4fcd6e14633",
107+
"strategy": "REDACT",
108+
"redactionFormat": "{{{REDACTED-%t}}}",
109+
"replacementScope": "DOCUMENT",
110+
"staticReplacement": "",
111+
"maskCharacter": "*",
112+
"maskLength": "SAME",
113+
"truncateCharacter": "*",
114+
"truncateDirection": "LEADING",
115+
"condition": "",
116+
"salt": false
117+
}
118+
],
119+
"enabled": true,
120+
"ignored": [],
121+
"ignoredFiles": [],
122+
"ignoredPatterns": [],
123+
"windowSize": 0,
124+
"priority": 0
125+
},
126+
"emailAddress": {
127+
"onlyStrictMatches": true,
128+
"onlyValidTLDs": false,
129+
"emailAddressFilterStrategies": [
130+
{
131+
"filterType": "EMAIL_ADDRESS",
132+
"id": "ae944bcd-1e65-4e5c-a1f5-1d0814a542fa",
133+
"strategy": "REDACT",
134+
"redactionFormat": "{{{REDACTED-%t}}}",
135+
"replacementScope": "DOCUMENT",
136+
"staticReplacement": "",
137+
"maskCharacter": "*",
138+
"maskLength": "SAME",
139+
"truncateCharacter": "*",
140+
"truncateDirection": "LEADING",
141+
"condition": "",
142+
"salt": false
143+
}
144+
],
145+
"enabled": true,
146+
"ignored": [],
147+
"ignoredFiles": [],
148+
"ignoredPatterns": [],
149+
"windowSize": 0,
150+
"priority": 0
151+
},
152+
"ipAddress": {
153+
"ipAddressFilterStrategies": [
154+
{
155+
"filterType": "IP_ADDRESS",
156+
"id": "cb2006d4-d7ce-4541-88fb-e2538e9fd88f",
157+
"strategy": "REDACT",
158+
"redactionFormat": "{{{REDACTED-%t}}}",
159+
"replacementScope": "DOCUMENT",
160+
"staticReplacement": "",
161+
"maskCharacter": "*",
162+
"maskLength": "SAME",
163+
"truncateCharacter": "*",
164+
"truncateDirection": "LEADING",
165+
"condition": "",
166+
"salt": false
167+
}
168+
],
169+
"enabled": true,
170+
"ignored": [],
171+
"ignoredFiles": [],
172+
"ignoredPatterns": [],
173+
"windowSize": 0,
174+
"priority": 0
175+
},
176+
"phoneNumber": {
177+
"phoneNumberFilterStrategies": [
178+
{
179+
"filterType": "PHONE_NUMBER",
180+
"id": "fdcf6dd8-715c-4bec-b871-19deead9f5c2",
181+
"strategy": "REDACT",
182+
"redactionFormat": "{{{REDACTED-%t}}}",
183+
"replacementScope": "DOCUMENT",
184+
"staticReplacement": "",
185+
"maskCharacter": "*",
186+
"maskLength": "SAME",
187+
"truncateCharacter": "*",
188+
"truncateDirection": "LEADING",
189+
"condition": "",
190+
"salt": false
191+
}
192+
],
193+
"enabled": true,
194+
"ignored": [],
195+
"ignoredFiles": [],
196+
"ignoredPatterns": [],
197+
"windowSize": 0,
198+
"priority": 0
199+
},
200+
"ssn": {
201+
"ssnFilterStrategies": [
202+
{
203+
"filterType": "SSN",
204+
"id": "3df4611d-fb21-47d8-a1e6-5a5502cbcd0b",
205+
"strategy": "REDACT",
206+
"redactionFormat": "{{{REDACTED-%t}}}",
207+
"replacementScope": "DOCUMENT",
208+
"staticReplacement": "",
209+
"maskCharacter": "*",
210+
"maskLength": "SAME",
211+
"truncateCharacter": "*",
212+
"truncateDirection": "LEADING",
213+
"condition": "",
214+
"salt": false
215+
}
216+
],
217+
"enabled": true,
218+
"ignored": [],
219+
"ignoredFiles": [],
220+
"ignoredPatterns": [],
221+
"windowSize": 0,
222+
"priority": 0
223+
},
224+
"url": {
225+
"urlFilterStrategies": [
226+
{
227+
"filterType": "URL",
228+
"id": "892bc5fe-1b69-4fa9-aa6a-dc4760d97e62",
229+
"strategy": "REDACT",
230+
"redactionFormat": "{{{REDACTED-%t}}}",
231+
"replacementScope": "DOCUMENT",
232+
"staticReplacement": "",
233+
"maskCharacter": "*",
234+
"maskLength": "SAME",
235+
"truncateCharacter": "*",
236+
"truncateDirection": "LEADING",
237+
"condition": "",
238+
"salt": false
239+
}
240+
],
241+
"requireHttpWwwPrefix": true,
242+
"enabled": true,
243+
"ignored": [],
244+
"ignoredFiles": [],
245+
"ignoredPatterns": [],
246+
"windowSize": 0,
247+
"priority": 0
248+
},
249+
"vin": {
250+
"vinFilterStrategies": [
251+
{
252+
"filterType": "VIN",
253+
"id": "6e0ba430-0841-4f02-af58-7d8e6bfaf730",
254+
"strategy": "REDACT",
255+
"redactionFormat": "{{{REDACTED-%t}}}",
256+
"replacementScope": "DOCUMENT",
257+
"staticReplacement": "",
258+
"maskCharacter": "*",
259+
"maskLength": "SAME",
260+
"truncateCharacter": "*",
261+
"truncateDirection": "LEADING",
262+
"condition": "",
263+
"salt": false
264+
}
265+
],
266+
"enabled": true,
267+
"ignored": [],
268+
"ignoredFiles": [],
269+
"ignoredPatterns": [],
270+
"windowSize": 0,
271+
"priority": 0
272+
},
273+
"zipCode": {
274+
"requireDelimiter": false,
275+
"validate": false,
276+
"enabled": true,
277+
"ignored": [],
278+
"ignoredFiles": [],
279+
"ignoredPatterns": [],
280+
"windowSize": 0,
281+
"priority": 0
282+
}
283+
},
284+
"ignored": [],
285+
"ignoredPatterns": [],
286+
"graphical": {
287+
"boundingBoxes": []
288+
}
289+
}

docker-compose-simple.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
services:
2+
3+
ph-eye:
4+
image: philterd/ph-eye:1.2.1
5+
ports:
6+
- "5000"
7+
networks:
8+
- philter
9+
10+
ph-eye-medical-conditions:
11+
image: philterd/ph-eye-medical-conditions:1.2.3
12+
ports:
13+
- "5000"
14+
networks:
15+
- philter
16+
17+
philter:
18+
build:
19+
context: .
20+
dockerfile: Dockerfile.philter
21+
ports:
22+
- "8080:8080"
23+
volumes:
24+
- ./distribution/philter.properties:/opt/philter/philter.properties
25+
- ./distribution/policies/:/opt/philter/policies/
26+
networks:
27+
- philter
28+
29+
networks:
30+
philter:

docker-compose.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,11 @@ services:
1414
depends_on:
1515
ph-eye:
1616
condition: service_started
17-
opensearch:
18-
condition: service_healthy
1917
build:
2018
context: .
2119
dockerfile: Dockerfile.philter
2220
ports:
2321
- "8080:8080"
24-
environment:
25-
filter.policies.service: opensearch
26-
filter.policies.service.opensearch.scheme: http
27-
filter.policies.service.opensearch.host: opensearch
28-
filter.policies.service.opensearch.port: 9200
2922
volumes:
3023
- ./distribution/philter.properties:/opt/philter/philter.properties
3124
- ./distribution/indexes/:/opt/philter/indexes/

0 commit comments

Comments
 (0)