Turqoa Docs

Zone Management

Zones are the fundamental organizational unit of Turqoa Terminal Security. Each zone represents a defined physical area within the terminal, with its own monitoring policies, detection rules, and alert configurations. This page covers zone creation, configuration, and advanced features like time-based rules and multi-zone correlation.

Zone Types

Turqoa supports three zone types, each designed for different security scenarios:

Restricted Zones

Restricted zones require explicit authorization for entry. Any detected person or vehicle entering without authorization triggers an immediate alert. Common restricted zones include:

  • Fuel depots and hazardous material storage
  • Control rooms and server rooms
  • Customs bonded warehouse interiors
  • Equipment maintenance bays during off-hours

Monitored Zones

Monitored zones are under continuous surveillance but do not require authorization for general access. Instead, they apply behavioral detection rules — loitering, crowd formation, unattended objects. Common monitored zones include:

  • Container yard blocks
  • Reefer plug areas
  • Truck marshalling yards
  • Public access corridors

Geofenced Zones

Geofenced zones use GPS coordinates rather than camera-based detection. They track mobile assets (vehicles, equipment) entering or leaving defined boundaries. Common geofenced zones include:

  • Terminal perimeter (overall boundary)
  • Berth areas (vessel operations zones)
  • Rail corridors
  • Internal road networks

Creating Zones

Via Configuration File

# ~/.turqoa/sites/my-terminal/security-zones.yaml
zones:
  - id: zone-warehouse-01
    name: "Bonded Warehouse A"
    type: restricted
    polygon:
      - [31.2010, 29.9200]
      - [31.2010, 29.9210]
      - [31.2020, 29.9210]
      - [31.2020, 29.9200]
    cameras:
      - cam-wh-a-entrance
      - cam-wh-a-interior-1
      - cam-wh-a-interior-2
    detection_rules:
      - unauthorized_entry
      - loitering
      - unattended_object
    alert_priority: critical
    authorization:
      method: badge_reader
      integration: access_control_system

Via CLI

turqoa security zone create \
  --id zone-warehouse-01 \
  --name "Bonded Warehouse A" \
  --type restricted \
  --polygon "31.2010,29.9200;31.2010,29.9210;31.2020,29.9210;31.2020,29.9200" \
  --cameras cam-wh-a-entrance,cam-wh-a-interior-1,cam-wh-a-interior-2 \
  --rules unauthorized_entry,loitering,unattended_object \
  --priority critical \
  --site "my-terminal"

Via Command Center

The Command Center provides a visual zone editor:

  1. Navigate to Security > Zones > Create Zone
  2. Select the zone type (restricted, monitored, geofenced)
  3. Draw the zone polygon on the terminal map
  4. Assign cameras from the camera inventory
  5. Select detection rules from the rule library
  6. Set alert priority and notification channels
  7. Save and activate

Note: Zones created in the Command Center are automatically exported to the configuration file for version control and backup purposes.

Time-Based Rules

Zones can have schedules that modify their behavior based on time of day and day of week:

zones:
  - id: zone-admin-building
    name: "Administration Building"
    type: restricted
    polygon: [...]
    cameras: [cam-admin-entrance, cam-admin-lobby]
    schedules:
      - name: business_hours
        hours: "06:00-18:00"
        days: [mon, tue, wed, thu, fri]
        rules:
          - unauthorized_entry
        authorization:
          method: badge_reader
        alert_priority: medium

      - name: after_hours
        hours: "18:00-06:00"
        days: [mon, tue, wed, thu, fri]
        rules:
          - unauthorized_entry
          - loitering
          - motion_any
        authorization:
          method: badge_reader
          require_supervisor_approval: true
        alert_priority: critical

      - name: weekends
        hours: "00:00-23:59"
        days: [sat, sun]
        rules:
          - unauthorized_entry
          - motion_any
        alert_priority: critical

Holiday Schedules

Override regular schedules for holidays and special events:

schedule_overrides:
  - date: "2026-12-25"
    name: "Christmas Day"
    apply_schedule: weekends    # Use weekend rules

  - date_range: "2026-04-10/2026-04-14"
    name: "Eid al-Fitr"
    apply_schedule: after_hours  # Heightened security

Zone Alerts Configuration

Each zone has configurable alert behavior:

zones:
  - id: zone-fuel-depot
    alerts:
      channels:
        - type: dashboard
          always: true
        - type: sms
          priority: [critical, high]
          recipients: ["+905551234567", "+905559876543"]
        - type: email
          priority: [critical, high, medium]
          recipients: ["security@terminal.com"]
        - type: siren
          priority: [critical]
          device: siren-fuel-depot-01

      cooldown: 60s              # Suppress duplicate alerts within window
      aggregation_window: 30s    # Group related alerts
      auto_acknowledge: false    # Require manual acknowledgment

      escalation:
        - timeout: 120s
          notify: security_supervisor
        - timeout: 300s
          notify: terminal_manager
          action: lockdown_zone

Alert Priority Levels

PriorityResponse TimeNotification ChannelsExample Trigger
CriticalImmediateDashboard + SMS + SirenPerimeter breach, restricted zone entry
High< 2 minutesDashboard + SMSUnattended object, unauthorized vehicle
Medium< 10 minutesDashboard + EmailLoitering, crowd formation
Low< 30 minutesDashboard onlyMinor policy violation, PPE non-compliance

Multi-Zone Correlation

Turqoa can correlate events across multiple zones to detect complex threat patterns that individual zone rules would miss:

correlations:
  - name: perimeter_to_restricted
    description: "Person detected at perimeter followed by restricted zone entry"
    sequence:
      - zone: zone-perimeter-east
        event: person_detected
        window: 300s
      - zone: zone-fuel-depot
        event: unauthorized_entry
        window: 600s
    action:
      alert_priority: critical
      notify: [security_team, terminal_manager]
      flags: [coordinated_breach]

  - name: tailgating_detection
    description: "Multiple entries through access point without corresponding badge reads"
    zones: [zone-admin-entrance]
    condition:
      person_count_delta: "> badge_read_count"
      window: 30s
    action:
      alert_priority: high
      notify: [security_team]

Correlation Engine

The correlation engine maintains a rolling event window and evaluates cross-zone patterns in real time:

ParameterDefaultDescription
window_size600sMaximum time span for event correlation
max_events10000Maximum events held in correlation buffer
evaluation_interval5sHow frequently patterns are evaluated
dedup_window60sSuppress duplicate correlation matches
# Monitor correlation events in real time
turqoa security correlations watch --site "my-terminal"

Warning: Complex correlation rules with long time windows and many zones can increase CPU usage on the alert management service. Monitor system resources with turqoa site status --detailed when adding new correlations.