Event Model
Purpose
Describe what operators see in the Manager: security logs from Agents, Hosting category-safe projections, and detection-originated families — without inventing a complete event taxonomy or a compliance audit log.
Concept
Two operator-visible event surfaces:
- Security logs ingested by Agents (
POST /api/v1/security-logs) and listed by administrators (GET /api/v1/security-logs,/api/v1/security/logs, dashboard logs). Canonical identity fields includelog_type,source_ip,action,severity, plus destination/MAC/protocol/port/details/rule_idwhen present. - Hosting events — the same ingest path after Hosting normalization, but the admin Hosting UI/API projects only
event_id,source,category,severity,timestamp,parser,contract_version,review_state. Raw details and customer IPs are not in that projection.
Hosting network detector types (vertical/horizontal scan, SYN fan-out, UDP scan, burst, TCP-flag anomaly, closed-port when inferable, unique dest port/host rate) must be action: logged and must not carry unrestricted packet fields on the request.
Data/control flow
- Virtualization Agent: eBPF ring-buffer / log monitors (example SSH parser on
/var/log/auth.log) → local spool → Manager. - Hosting Agent: file collectors + loader socket → category-safe records → Manager. Source ids such as
hosting.ssh.auth.v1are parser identities, not public SKUs. - Manager detection services (brute-force, scan/flood, RBL, ModSecurity observation, SSH/sudo alerts, temp-to-perm) may originate additional families. Not every parser is production-certified.
- Console reads lists and WebSocket dashboard updates.
- AI Preview may read allowed security-event types under Preview rules. Hosting sources are excluded from automatic/provider AI.
Where events live: Agent local buffer, Manager PostgreSQL, console views. There is no customer-facing event bus product.
Boundaries
- Do not claim exactly-once or lossless delivery.
- Hosting
SOURCE_NOT_PRESENT/permission_blockedmeans no events from that collector until the operator fixes path/ACL. - ModSecurity Hosting path is global metadata only.
- Certificate-expiry Hosting helper is loopback TLS metadata, not a certificate transparency log.
- Alert
.../testandanalyze-nowroutes are not daily operator APIs.
Edition differences
Community: security logs, dashboard logs, 3-Agent cap.
Enterprise: Hosting projection APIs, additional detection/license gates, AI Preview with Hosting exclusion.
Common misconceptions
- “Hosting events include the attacker IP like security logs.” Not in the Hosting projection.
- “Empty Hosting events means the Agent is dead.” Check source state and loader socket first.
- “ModSecurity source is a WAF you tune per site.” Global metadata only in this inventory.
- “All
log_typevalues are a published enum.” Document families you actually enable; do not invent codes.