Data flows and egress
July 11, 2026 ยท View on GitHub
Phase 1.4 of the world-class program. This page states exactly what leaves your perimeter under each configuration, so the README's "runs on your infrastructure" claim is precise rather than aspirational.
What never leaves
- AiSOC sends no telemetry to the AiSOC project and makes no "model improvement" callbacks. There is no phone-home. (Gated: Phase 12 trust surface adds a no-telemetry CI assertion.)
- Your database, object storage, graph, cache, and Kafka spine stay on your infrastructure.
The one egress that exists: your chosen LLM
The investigation agent calls an LLM you configure. There are three modes:
- Local model (fully air-gapped). Point
AISOC_LLM_*at Ollama / vLLM / llama.cpp. No evidence leaves your network at all. This is the only mode in which the "no data leaves" claim is unconditionally true. - Hosted LLM with redaction (default). When you configure a cloud provider
(Anthropic/OpenAI), evidence is pseudonymized before egress by
services/agents/app/privacy/redactor.py: internal IPs, emails, file paths, secrets, internal hostnames, and usernames are replaced with opaque, per-run, in-memory tokens (USER_1,HOST_2,IP_3). The LLM reasons over tokens; the ledger and console re-hydrate real values locally. Public threat indicators (external domains/IPs) are preserved so the agent can reason about them. Gated:services/agents/tests/test_privacy_redactor.pyasserts zero raw customer PII survives redaction. - Hosted LLM without redaction (opt-out). If you disable redaction, raw evidence reaches the provider. Use only with a provider under a signed zero-retention agreement.
Egress allowlist
The only outbound destinations under normal operation are the LLM provider you
configure and the threat-intel feeds you enable. A rendered Kubernetes
NetworkPolicy that enforces this allowlist ships with the Helm chart (Phase 1.4
continuation / Phase 2); until then, restrict egress at your network layer.
Air-gapped verification (planned gate)
Phase 1.4 continuation adds a CI job that runs a full investigation with network egress blocked and asserts success on the local-model path โ proving mode 1 is genuinely air-gapped, not just documented.