SIEM & SOAR Integration

AegisGate Platform provides two distinct integration pathways for external security tooling:

IntegrationPackagePurposeDirection
SIEMpkg/siem/Forward raw audit events to log/observability platformsAegisGate → SIEM
SOARpkg/soar/Send structured incident alerts to automation platformsAegisGate → SOAR

In short: SIEM says “log this event for analysis.” SOAR says “alert this platform so action is taken.”

Both require Professional tier or higher.


SIEM Integration (Event Forwarding)

Supported Platforms (12)

PlatformConfig ValueFormatAuth
SplunksplunkCEF, JSONAPI key (HEC token)
ElasticsearchelasticsearchJSONAPI key, basic
IBM QRadarqradarLEEF, JSONAPI key, basic
Microsoft SentinelsentinelJSONOAuth2, API key
Sumo LogicsumologicJSONAPI key
LogRhythmlogrhythmJSON, CEFAPI key
AWS CloudWatchcloudwatchJSONIAM (access key)
AWS Security HubsecurityhubJSONIAM (access key)
Micro Focus ArcSightarcsightCEFAPI key, basic
DatadogdatadogJSONAPI key
Syslog (RFC 5424)syslogSyslogNone
Custom webhookcustomJSONAPI key, HMAC, OAuth2

Configuration

Enable SIEM in aegisgate-platform.yaml:

siem:
  enabled: true
  source: "aegisgate"           # Source field on every event
  poll_interval: 5s             # How often to poll audit ring buffer
  batch_size: 100               # Max events per poll cycle
  buffer_max_size: 10000        # Internal buffer capacity
  platforms:
    # ── Splunk via HEC ──
    - platform: splunk
      enabled: true
      format: cef                 # or "json"
      endpoint: "https://splunk.example.com:8088/services/collector"
      auth:
        type: api_key
        api_key: "your-hec-token"  # env: AEGISGATE_SIEM_API_KEY
      retry:
        enabled: true
        max_attempts: 3
        initial_backoff: "1s"
        max_backoff: "30s"
        backoff_multiplier: 2.0
      batch:
        enabled: true
        max_size: 100
        max_wait: "5s"

    # ── Datadog Logs ──
    - platform: datadog
      enabled: true
      format: json
      endpoint: "https://http-intake.logs.datadoghq.com/v1/input"
      auth:
        type: api_key
        api_key: "your-datadog-api-key"

    # ── Syslog (RFC 5424) ──
    - platform: syslog
      enabled: true
      format: syslog
      endpoint: "10.0.0.50:514"    # syslog server
      tls:
        enabled: false             # true for TLS-encrypted syslog

CLI Flag

./aegisgate --siem-enabled
# or via environment:
AEGISGATE_SIEM_ENABLED=true ./aegisgate

Event Structure

Each SIEM event contains:

FieldDescriptionExample
timestampUTC timestamp2026-08-10T12:00:00Z
sourceAlways aegisgateaegisgate
typeEvent typedetection, block, policy
severitySeverity levelcritical, high, medium, low, info
categoryDetection categorypii, secrets, xss, compliance, ml_threat
user_hashSHA-256 hash of user IDa1b2c3...
domain_hashSHA-256 hash of target domaind4e5f6...
actionUser action takenwarn, redact, block, allow

No prompt content, no PII, no secrets in the event payload. All values are hashed or categorized.

Health Check

curl http://localhost:8443/api/v1/siem/health

Returns per-platform health, last send time, and error count.


SOAR Integration (Incident Alerting)

Supported Platforms (4)

PlatformConfig ValueAuthIncident Action
PagerDutypagerdutyAPI key (routing key)Trigger, acknowledge, resolve
JirajiraAPI key, basicCreate issue with priority mapping
ServiceNowservicenowAPI key, basicCreate incident (security > compliance)
Custom webhookcustomHMAC, API key, OAuth2POST JSON payload

Severity Mapping

AegisGatePagerDutyJiraServiceNow
criticalcriticalHighest1
higherrorHigh2
mediumwarningMedium3
lowinfoLow4
infoinfoLowest4

Configuration

Enable SOAR in aegisgate-platform.yaml:

soar:
  enabled: true
  source: "aegisgate"
  max_retries: 3
  retry_interval: 5s
  platforms:
    # ── PagerDuty (Events API v2) ──
    - platform: pagerduty
      enabled: true
      endpoint: "https://events.pagerduty.com/v2/enqueue"
      auth:
        type: api_key
        api_key: "your-routing-key"    # env: AEGISGATE_SOAR_API_KEY
      settings:
        dedup_key_prefix: "aegisgate"

    # ── Jira (create issues) ──
    - platform: jira
      enabled: true
      endpoint: "https://yourcompany.atlassian.net/rest/api/3/issue"
      auth:
        type: api_key
        api_key: "your-jira-api-token"
      settings:
        project_key: "SEC"
        issue_type: "Security Incident"

    # ── ServiceNow (create incidents) ──
    - platform: servicenow
      enabled: true
      endpoint: "https://yourcompany.service-now.com/api/now/table/incident"
      auth:
        type: basic
        username: "aegisgate-integration"
        password: "your-servicenow-password"
      settings:
        assignment_group: "Security"
        category: "security"
        subcategory: "compliance"

    # ── Custom webhook with HMAC signing ──
    - platform: custom
      enabled: true
      endpoint: "https://your-webhook.example.com/aegisgate"
      auth:
        type: hmac
        hmac_secret: "your-hmac-secret"

CLI Flag

./aegisgate --soar-enabled
# or via environment:
AEGISGATE_SOAR_ENABLED=true ./aegisgate

Incident Structure

Each SOAR incident contains:

FieldDescriptionExample
idIncident IDINC-001
titleShort titleHIPAA Access Control Violation
descriptionDetailed descriptionPII detected in AI request: SSN pattern matched
severityMapped to platform severitycritical
statusLifecycle statetriggered, acknowledged, resolved
sourceAlways aegisgateaegisgate
timestampUTC timestamp2026-08-10T12:00:00Z
frameworkCompliance frameworkhipaa, cjis, soc2
control_idControl identifierHIPAA-AC-001
control_nameControl nameAccess Control
detailsExtended detailsUser attempted to send SSN to ChatGPT
remediationSuggested fixReview data handling policy, redact SSN
affected_systemsList of systems["chatgpt.com"]
dedup_keyPagerDuty dedup keyaegisgate-hipaa-HIPAA-AC-001

No prompt content or PII in the incident payload. Details are metadata descriptions, not raw user input.

Health Check

curl http://localhost:8443/api/v1/soar/health

Returns per-platform delivery health, last send time, and error count.


Combined SIEM + SOAR Deployment

A typical enterprise deployment uses both:

AI Traffic → AegisGate Platform
                    ├── SIEM → Splunk (all events, for analysis & dashboards)
                    │       → Datadog (all events, for DevOps observability)
                    └── SOAR → PagerDuty (critical/high → page on-call)
                              → Jira (medium+ → create ticket for SOC)
                              → ServiceNow (all → GRC tracking & compliance)

Example: ServiceNow + Splunk

# aegisgate-platform.yaml
siem:
  enabled: true
  source: "aegisgate"
  platforms:
    - platform: splunk
      enabled: true
      format: cef
      endpoint: "https://splunk.company.com:8088/services/collector"
      auth:
        type: api_key
        api_key: "hec-token-here"

soar:
  enabled: true
  source: "aegisgate"
  platforms:
    - platform: servicenow
      enabled: true
      endpoint: "https://company.service-now.com/api/now/table/incident"
      auth:
        type: basic
        username: "aegisgate-bot"
        password: "secure-password"
      settings:
        assignment_group: "Security Operations"
        category: "security"
        subcategory: "ai_compliance"

Verification

After configuring SIEM/SOAR, verify:

# Check SIEM health
curl -s http://localhost:8443/api/v1/siem/health | jq

# Check SOAR health
curl -s http://localhost:8443/api/v1/soar/health | jq

# Generate a test detection (requires auth)
curl -X POST http://localhost:8443/api/v1/scan \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"input":"My SSN is 123-45-6789","model":"gpt-4"}'

# Check that the event appeared in your SIEM/SOAR

Privacy Guarantee

All SIEM and SOAR events are metadata-only:

  • ✅ No prompt text is sent to SIEM or SOAR
  • ✅ No PII values are sent (only the category pii and the pattern matched, not the actual PII)
  • ✅ No secrets are sent (only the category secrets and the pattern name, not the secret value)
  • ✅ User identifiers are SHA-256 hashed
  • ✅ Domain identifiers are SHA-256 hashed
  • ✅ Timestamps are UTC ISO-8601

This means your SIEM/SOAR integration does not create a secondary data store of sensitive information. The audit trail, SIEM events, and SOAR incidents all contain only structural metadata about what happened — never the content of what was detected.