Skip to main content

Dual-Use Filter

The dual-use-filter policy checks content against dual-use terms. If blocked_terms is missing, the gateway uses a built-in list. This term check does not determine an item's export classification or legal status.

Configuration

pack:
name: dual-use-filter-example
version: 1.0.0
enabled: true

policies:
chain:
- dual-use-filter

policy:
dual-use-filter:
blocked_terms:
- centrifuge
- precursor chemical
- maraging steel
- uranium enrichment
action: block
fuzzy_matching: true
max_distance: 2

Fields

FieldTypeDescriptionDefault
blocked_termsstring[]Terms to match. If not supplied, the gateway uses its built-in reference list.built-in list
actionblock | redactblock stops the request. redact starts the gateway redaction path.block
fuzzy_matchingbooleanEnable near-match detection.false
max_distanceintegerMaximum edit distance used with fuzzy matching.1

Built-in reference terms

The default list includes a broad starter set such as:

  • weapon
  • explosive
  • bioweapon
  • nerve agent
  • dual-use / dual use
  • nato restricted, nato confidential, nato secret
  • precursor chemical
  • cyber surveillance
  • intrusion software
  • nuclear material
  • centrifuge
  • uranium enrichment
  • plutonium
  • heavy water
  • maraging steel
  • carbon fibre / carbon fiber

Use cases

Block with custom terms

pack:
name: export-control
version: 1.0.0
enabled: true

policies:
chain:
- dual-use-filter
- entity-list-filter
- itar-ear-filter

policy:
dual-use-filter:
blocked_terms:
- uranium hexafluoride
- thermal imaging
- night vision
action: block

Use the built-in defaults

pack:
name: default-dual-use-guard
version: 1.0.0
enabled: true

policies:
chain:
- dual-use-filter

policy:
dual-use-filter: {}

How it works

  1. Verdictan makes one text buffer from the input message content.
  2. It loads blocked_terms, or the built-in reference list when blocked_terms is not supplied.
  3. It checks for specified matches without case sensitivity.
  4. It can also examine fuzzy matches at max_distance or less.
  5. On a match, it returns the action verdict.

Best practices

  • Keep blocked_terms narrow when you override the defaults.
  • Use block when deterministic enforcement of the matched term is necessary.
  • The redact verdict uses the gateway redaction path. This policy does not give a special replacement marker.
  • Combine it with other term controls only as a signal layer. Complete the necessary export-control review external to this policy.

Next steps