Skip to main content

Add People to Watchlists

Watchlists are named collections of enrolled subjects that VPP matches against every face it detects. When a camera captures a face, VPP checks it against all configured watchlists and the Hub emits an identification event — identification.clearance.green for an allowed-watchlist match, identification.clearance.red for a denied-watchlist match, or identification.no_match if no subject is found.

Watchlists and their members are owned and managed by VPP. The Hub proxies this data to the GUI but holds no local copy.

Prerequisites

  • The stack is running with at least one camera active (see Add Cameras)
  • Face images of the subjects you want to enroll (JPEG or PNG, frontal face, good lighting)

Step 1 — Create watchlists in VPP

Create your allowed and denied watchlists in the VPP Admin interface at http://localhost:8000 (or via the VPP API). Note each watchlist's ID — you will need it both to enroll members and to wire allowed watchlists into the Hub.

Step 2 — Mark which watchlists grant GREEN clearance

The Hub decides clearance from the VPP_ADAPTER_ALLOWED_WATCHLISTS setting in .env.hub — a comma-separated list of watchlist IDs that produce a GREEN (allowed) clearance. Any matched watchlist not in this list produces RED.

VPP_ADAPTER_ALLOWED_WATCHLISTS=<allowed-watchlist-id-1>,<allowed-watchlist-id-2>

Apply the change by restarting the Hub:

docker compose up -d hub

Step 3 — Enroll subjects

Enroll each person by submitting their face image to the relevant watchlist through VPP Admin or the VPP API. VPP extracts the biometric template; the subject becomes active for matching immediately, with no restart. Refer to the VPP platform documentation for the authoritative enrollment API and image-quality requirements.

Step 4 — Verify identification events

With a camera running and a subject enrolled, walk in front of the camera and query the Hub's GraphQL API at http://localhost:8090/corridor-foundation/graphql, or watch the dashboard at http://localhost:8095. A match with GREEN or RED clearance confirms the full pipeline — camera → VPP → Hub → event stream — is working end to end.

Next steps

  • Review the Event Catalog for all notification types your integration can subscribe to
  • Explore the Integration Overview to connect your system to the Hub's GraphQL subscriptions