---
title: "Create or update a policy."
method: POST
path: "/api/policies"
tags: ["Policies"]
---

# Create or update a policy.

`POST /api/policies`

Saves the policy supplied in the request body under the given name, overwriting any existing policy of the same name. The policy is validated before it is stored. Admins may save into another user's account by passing that user's email as owner. Requires the `policies:write` scope.

## Query parameters

- `name` string, required
- `owner` string

## Headers

- `Authorization` string, required

## Request body

- Policy
  - `cacheKey` string
  - `config` Config
    - `analysis` Analysis
      - `identification` boolean
    - `pdf` Pdf
      - `compressionQuality` number, float
      - `dpi` integer
      - `preserveUnredactedPages` boolean
      - `redactionColor` string
      - `replacementFont` string
      - `replacementFontColor` string
      - `replacementMaxFontSize` number, float
      - `scale` number, float
      - `showReplacement` boolean
    - `postFilters` PostFilters
      - `removeTrailingNewLines` boolean
      - `removeTrailingPeriods` boolean
      - `removeTrailingSpaces` boolean
    - `splitting` Splitting
      - `enabled` boolean
      - `method` string
      - `threshold` integer
  - `crypto` Crypto
    - `iv` string
    - `key` string
  - `fpe` FPE
    - `key` string
    - `tweak` string
  - `graphical` Graphical
    - `boundingBoxes` BoundingBox[]
      - `color` string
      - `enabled` boolean
      - `h` number, float
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `page` integer
      - `priority` integer
      - `w` number, float
      - `windowSize` integer
      - `x` number, float
      - `y` number, float
  - `identifiers` Identifiers
    - `url` Url
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `requireHttpWwwPrefix` boolean
      - `urlFilterStrategies` UrlFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `windowSize` integer
    - `age` Age
      - `ageFilterStrategies` AgeFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `windowSize` integer
    - `bankRoutingNumber` BankRoutingNumber
      - `bankRoutingNumberFilterStrategies` BankRoutingNumberFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `windowSize` integer
    - `bitcoinAddress` BitcoinAddress
      - `bitcoinFilterStrategies` BitcoinAddressFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `windowSize` integer
    - `city` City
      - `capitalized` boolean
      - `cityFilterStrategies` CityFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `fuzzy` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `sensitivity` string
      - `sensitivityLevel` 'auto' | 'off' | 'low' | 'medium' | 'high'
      - `windowSize` integer
    - `county` County
      - `capitalized` boolean
      - `countyFilterStrategies` CountyFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `fuzzy` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `sensitivity` string
      - `sensitivityLevel` 'auto' | 'off' | 'low' | 'medium' | 'high'
      - `windowSize` integer
    - `creditCard` CreditCard
      - `creditCardFilterStrategies` CreditCardFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `ignoreWhenInUnixTimestamp` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `onlyValidCreditCardNumbers` boolean
      - `onlyWordBoundaries` boolean
      - `priority` integer
      - `windowSize` integer
    - `currency` Currency
      - `currencyFilterStrategies` CurrencyFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `windowSize` integer
    - `customDictionaries` CustomDictionary[]
      - `capitalized` boolean
      - `classification` string
      - `customDictionaryFilterStrategies` CustomDictionaryFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `files` string[]
      - `fuzzy` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `sensitivity` string
      - `terms` string[]
      - `windowSize` integer
    - `date` Date
      - `dateFilterStrategies` DateFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `futureDates` boolean
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `shiftDays` integer
        - `shiftMonths` integer
        - `shiftRandom` boolean
        - `shiftYears` integer
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `onlyValidDates` boolean
      - `priority` integer
      - `windowSize` integer
    - `driversLicense` DriversLicense
      - `driversLicenseFilterStrategies` DriversLicenseFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `windowSize` integer
    - `emailAddress` EmailAddress
      - `emailAddressFilterStrategies` EmailAddressFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `onlyStrictMatches` boolean
      - `onlyValidTLDs` boolean
      - `priority` integer
      - `windowSize` integer
    - `firstName` FirstName
      - `capitalized` boolean
      - `enabled` boolean
      - `firstNameFilterStrategies` FirstNameFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `fuzzy` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `sensitivity` string
      - `sensitivityLevel` 'auto' | 'off' | 'low' | 'medium' | 'high'
      - `windowSize` integer
    - `hospital` Hospital
      - `capitalized` boolean
      - `enabled` boolean
      - `fuzzy` boolean
      - `hospitalFilterStrategies` HospitalFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `sensitivity` string
      - `sensitivityLevel` 'auto' | 'off' | 'low' | 'medium' | 'high'
      - `windowSize` integer
    - `ibanCode` IbanCode
      - `allowSpaces` boolean
      - `enabled` boolean
      - `ibanCodeFilterStrategies` IbanCodeFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `onlyValidIBANCodes` boolean
      - `priority` integer
      - `windowSize` integer
    - `identifiers` Identifier[]
      - `caseSensitive` boolean
      - `classification` string
      - `enabled` boolean
      - `groupNumber` integer
      - `identifierFilterStrategies` IdentifierFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `pattern` string
      - `priority` integer
      - `validator` Validator
        - `name` string
        - `params` object
      - `windowSize` integer
    - `ipAddress` IpAddress
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `ipAddressFilterStrategies` IpAddressFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `priority` integer
      - `windowSize` integer
    - `macAddress` MacAddress
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `macAddressFilterStrategies` MacAddressFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `priority` integer
      - `windowSize` integer
    - `medicalCondition` MedicalCondition
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `medicalConditionFilterStrategies` MedicalConditionFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `phEyeConfiguration` PhEyeConfiguration
        - `bearerToken` string
        - `endpoint` string
        - `labels` string[]
        - `maxIdleConnections` integer
        - `modelPath` string
        - `timeout` integer
      - `priority` integer
      - `removePunctuation` boolean
      - `thresholds` object
      - `windowSize` integer
    - `passportNumber` PassportNumber
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `passportNumberFilterStrategies` PassportNumberFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `priority` integer
      - `windowSize` integer
    - `person` PhEye
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `phEyeConfiguration` PhEyeConfiguration
        - `bearerToken` string
        - `endpoint` string
        - `labels` string[]
        - `maxIdleConnections` integer
        - `modelPath` string
        - `timeout` integer
      - `phEyeFilterStrategies` PhEyeFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `priority` integer
      - `removePunctuation` boolean
      - `thresholds` object
      - `windowSize` integer
    - `phEyes` PhEye[]
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `phEyeConfiguration` PhEyeConfiguration
        - `bearerToken` string
        - `endpoint` string
        - `labels` string[]
        - `maxIdleConnections` integer
        - `modelPath` string
        - `timeout` integer
      - `phEyeFilterStrategies` PhEyeFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `priority` integer
      - `removePunctuation` boolean
      - `thresholds` object
      - `windowSize` integer
    - `phoneNumber` PhoneNumber
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `phoneNumberFilterStrategies` PhoneNumberFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `priority` integer
      - `windowSize` integer
    - `phoneNumberExtension` PhoneNumberExtension
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `phoneNumberExtensionFilterStrategies` PhoneNumberExtensionFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `priority` integer
      - `windowSize` integer
    - `physicianName` PhysicianName
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `physicianNameFilterStrategies` PhysicianNameFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `priority` integer
      - `windowSize` integer
    - `sections` Section[]
      - `enabled` boolean
      - `endPattern` string
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `sectionFilterStrategies` SectionFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `startPattern` string
      - `windowSize` integer
    - `ssn` Ssn
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `ssnFilterStrategies` SsnFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `windowSize` integer
    - `state` State
      - `capitalized` boolean
      - `enabled` boolean
      - `fuzzy` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `sensitivity` string
      - `sensitivityLevel` 'auto' | 'off' | 'low' | 'medium' | 'high'
      - `stateFilterStrategies` StateFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `windowSize` integer
    - `stateAbbreviation` StateAbbreviation
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `stateAbbreviationsFilterStrategies` StateAbbreviationFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `windowSize` integer
    - `streetAddress` StreetAddress
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `streetAddressFilterStrategies` StreetAddressFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `windowSize` integer
    - `surname` Surname
      - `capitalized` boolean
      - `enabled` boolean
      - `fuzzy` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `sensitivity` string
      - `sensitivityLevel` 'auto' | 'off' | 'low' | 'medium' | 'high'
      - `surnameFilterStrategies` SurnameFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `windowSize` integer
    - `trackingNumber` TrackingNumber
      - `allowSpaces` boolean
      - `enabled` boolean
      - `fedex` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `trackingNumberFilterStrategies` TrackingNumberFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `ups` boolean
      - `usps` boolean
      - `windowSize` integer
    - `vin` Vin
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `vinFilterStrategies` VinFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
      - `windowSize` integer
    - `zipCode` ZipCode
      - `enabled` boolean
      - `ignored` string[]
      - `ignoredFiles` string[]
      - `ignoredPatterns` IgnoredPattern[]
        - `name` string
        - `pattern` string
      - `priority` integer
      - `requireDelimiter` boolean
      - `validate` boolean
      - `windowSize` integer
      - `zipCodeFilterStrategies` ZipCodeFilterStrategy[]
        - `anonymizationCandidates` string[]
        - `anonymizationMethod` 'realistic' | 'from_list' | 'uuid'
        - `anonymizationService` unknown
        - `condition` string
        - `conditions` string
        - `filterType` 'age' | 'bank-routing-number' | 'bitcoin-address' | 'currency' | 'credit-card' | 'drivers-license-number' | 'city' | 'state' | 'county' | 'date' | 'email-address' | 'first-name' | 'hospital' | 'hospital-abbreviation' | 'iban-code' | 'id' | 'ip-address' | 'mac-address' | 'passport-number' | 'pheye' | 'phone-number' | 'phone-number-extension' | 'physician-name' | 'section' | 'ssn' | 'state-abbreviation' | 'street-address' | 'surname' | 'tracking-number' | 'url' | 'vin' | 'zip-code' | 'custom-dictionary' | 'person' | 'medical-condition' | 'other'
        - `id` string
        - `maskCharacter` string
        - `maskLength` string
        - `redactionFormat` string
        - `replacementScope` string
        - `salt` boolean
        - `staticReplacement` string
        - `strategy` string
        - `truncateCharacter` string
        - `truncateDigits` integer
        - `truncateDirection` string
        - `truncateLeaveCharacters` integer
  - `ignored` Ignored[]
    - `name` string
    - `caseSensitive` boolean
    - `files` string[]
    - `terms` string[]
  - `ignoredPatterns` IgnoredPattern[]
    - `name` string
    - `pattern` string

## Response `201`

The policy was saved and is now active. A policy_activated audit event is recorded.

## Other responses

- `400` — The policy name is missing or the policy is invalid.
- `401` — The Authorization header is absent or the API key is not recognized.
- `404` — The owner does not exist, or the caller is not an admin.
- `413` — Content Too Large
- `415` — Unsupported Media Type
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/philterd/apis/philter-api.md) · [All operations](https://skmtc.net/philterd/apis/philter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/philterd/philter-api/versions/67443cd5a65b/schema)
