Skip to content

SIEM & Log Forwarding ​

BitDrip emits security events in both CEF (ArcSight / Splunk) and LEEF (IBM QRadar) format, and supports forwarding proxy-daemon logs to any HTTP endpoint.

Policy Engine SIEM Output ​

Security events are written to the audit log and forwarded to your SIEM via the org integration settings. Configure via the Admin Dashboard under Settings → Integrations or via the API:

bash
curl -X PATCH https://your-policy-engine/api/v1/organizations/<orgId>/settings \
  -H "Authorization: Bearer <admin-jwt>" \
  -H "Content-Type: application/json" \
  -d '{
    "integration": {
      "siemEndpoint": "https://your-siem.corp/collector",
      "siemToken": "<bearer-token>",
      "siemFormat": "cef"
    }
  }'

Supported siemFormat values: cef, leef.

CEF Event Format ​

CEF:0|BitDrip|PolicyEngine|2.1.0|POLICY_VIOLATION|SSN detected|7|
  src=10.0.1.42 suser=alice@corp.com act=BLOCK
  cs1=SSN_DETECTOR cs1Label=ruleId
  cs2=0.95 cs2Label=confidence
  correlationId=abc-123 msg=Content blocked by BitDrip privacy policy

LEEF Event Format ​

LEEF:2.0|BitDrip|PolicyEngine|2.1.0|POLICY_VIOLATION|^
  src=10.0.1.42^suser=alice@corp.com^action=BLOCK^
  ruleId=SSN_DETECTOR^confidence=0.95^correlationId=abc-123

Correlation IDs ​

Every evaluation request generates a correlationId that flows from the proxy-daemon through the policy engine and into the SIEM event. Use it to correlate proxy logs with policy engine audit records.

Proxy Daemon Log Forwarding ​

The proxy-daemon can forward its structured logs to any HTTP endpoint:

bash
# Set in the workstation environment or .bitdrip/config.json
BITDRIP_LOG_FORWARD_URL=https://logs.corp.com/intake

Logs are buffered in memory and flushed every 30 seconds as a POST with Content-Type: application/json:

json
[
  { "level": "info", "message": "Request evaluated", "hostname": "api.openai.com", "action": "allow", "correlationId": "abc-123", "timestamp": "2026-06-02T19:00:00.000Z" },
  { "level": "warn", "message": "Request blocked", "hostname": "api.anthropic.com", "action": "block", "violations": 2, "correlationId": "def-456", "timestamp": "2026-06-02T19:00:15.000Z" }
]

The flush uses AbortSignal.timeout(5000) — if the endpoint is unreachable, the batch is dropped and the daemon continues without blocking traffic.

Splunk HEC Integration ​

Point siemEndpoint at your Splunk HTTP Event Collector:

siemEndpoint: https://splunk.corp.com:8088/services/collector/event
siemToken: Splunk <your-HEC-token>
siemFormat: cef

Alert Rules & Webhook Notifications ​

For threshold-based alerting (e.g., "notify when 10 violations occur within 60 minutes"), use Alert Rules — see Alert Rules & Webhooks.

Released under the BitDrip Commercial License.