Screening Appliance docs

Configuration Reference

Every environment variable the appliance reads β€” PORT, DATA_DIR, UPDATE_URL, DATASETS, SYNC_INTERVAL, ALERT_WEBHOOK_URL, OFFLINE β€” with defaults and effect.

Last updated 2026-08-02

Configuration Reference

The appliance is configured entirely through environment variables passed to docker run (or your orchestrator's equivalent). There is no separate config file to mount for these settings.

VariableDefaultEffect
PORT8400The port the API server listens on inside the container. Map it to a host port with -p <host>:<PORT>.
DATA_DIR/var/lib/proofamlWhere the appliance stores its data snapshot and applied updates. Mount a persistent volume here β€” see Quickstart β€” or data resets to the image's baked-in snapshot on every container recreation.
UPDATE_URLhttps://www.proofaml.com/updates/v1The base URL the sync client fetches the manifest and delta files from. Only relevant when OFFLINE is not true.
DATASETSallWhich datasets to load: all, or a comma-separated list of dataset ids. See Dataset selection & reference for the full id list and how this differs from the per-request datasets field.
SYNC_INTERVAL6hHow often the appliance checks UPDATE_URL for a new manifest. Accepts a duration like 6h, 30m, 1d. Has no effect when OFFLINE=true.
ALERT_WEBHOOK_URL(unset)If set, the appliance POSTs each new monitoring alert to this URL as it's created, in addition to it being retrievable via GET /v1/monitor/alerts. See Monitoring guide.
OFFLINEfalseWhen true, the appliance never contacts UPDATE_URL β€” no outbound network call is made on any schedule. Updates must be side-loaded into DATA_DIR manually. See Air-gapped operation.
MONITOR_THRESHOLD90Minimum match score (0–100) a monitored subject's candidate match must reach to raise an alert. Deliberately stricter than a typical one-off search threshold β€” monitoring runs unattended, so alert quality matters more than recall. See Monitoring guide Β§ Alert quality.

Example: full production configuration

docker run -d \
  --name proofaml-screening \
  -p 8400:8400 \
  -v proofaml-data:/var/lib/proofaml \
  -e PORT=8400 \
  -e DATA_DIR=/var/lib/proofaml \
  -e UPDATE_URL=https://www.proofaml.com/updates/v1 \
  -e DATASETS=us_ofac_sdn,us_ofac_cons,un_sc_sanctions,eu_fsf,gb_hmt_ofsi,gb_fcdo_uksl,ca_dfatd_sema_sanctions \
  -e SYNC_INTERVAL=6h \
  -e ALERT_WEBHOOK_URL=https://compliance.internal.example.com/webhooks/proofaml \
  -e MONITOR_THRESHOLD=90 \
  proofaml/screening-appliance:2026-08-02

Example: fully air-gapped

docker run -d \
  --name proofaml-screening \
  -p 8400:8400 \
  -v proofaml-data:/var/lib/proofaml \
  -e DATASETS=all \
  -e OFFLINE=true \
  proofaml/screening-appliance:2026-08-02

With OFFLINE=true, UPDATE_URL and SYNC_INTERVAL are both accepted but ignored β€” no outbound call is ever made. Updates are applied by side-loading files into the volume and calling POST /v1/admin/sync; see Air-gapped operation.

See also


More Screening Appliance docs

← All Screening Appliance docs