Security Posture Overview
The Platform operates under a Zero-Trust, Offline-First security model:
- No external dependencies — All AI/LLM ops run locally (localhost)
- Secrets isolated — All API keys/tokens in .env, never committed
- Perimeter security — AdGuard + SearXng provide DNS filtering, ad-blocking, safe search
- Network sovereignty — Bridged LAN (br0) on enp15s0 — no NAT, no public exposure
- Compliance-first — Aligned with HIPAA, NIST 800-53, ISO 27001
Philosophy:
"If it requires an internet connection, it's not part of The Platform."
Operational Security
| Control | Implementation | Evidence |
|---|---|---|
| Secrets Management | env_file: .env in all Docker Compose services | [1] |
| No Hardcoded Credentials | All passwords, API keys, tokens in .env | [1] |
| Network Isolation | network_mode: host — direct bridge to br0, no Docker NAT | [1] |
| Telemetry Disabled | QDRANT__TELEMETRY__ENABLED=false, N8N_DIAGNOSTICS_ENABLED=false | [1] |
| Audit Logging | JSON-structured logs, 100MB/3-file rotation | [1] |
| Resource Limits | deploy.resources.limits — memory, CPU, GPU reservations | [1] |
Compliance Mapping
| Framework | Alignment | Status | Notes |
|---|---|---|---|
| HIPAA | Full Implementation | Compliant | Medical model environment — data never leaves host |
| NIST 800-53 | Moderate Baseline | Mapped | Security controls aligned |
| ISO 27001 | ISMS Requirements | Aligned | Information security management |
| DoD 8570 | IAT Level III | Compliant | Compliant per verbatim; formal audit pending [1] |
Data Classification & Handling
| Level | Data Type | Storage | Transmission | Handling Rules |
|---|---|---|---|---|
| Confidential | API keys, tokens, passwords | Encrypted at rest (env_file:), never in compose | TLS 1.3 in-transit (via AdGuard) | Never committed to VCS |
| Internal | Embeddings, RAG results, logs | Local storage (qdrant-data, open-web-data) | localhost only | Retained per SLA |
| Public | Observability metrics | Grafana dashboards (localhost:3030) | Unauthenticated, LAN-only | No PII |
Incident Response
| Step | Action | Tools Used |
|---|---|---|
| Detection | platform health validator + prometheus alerts | Prometheus rules, curl healthchecks |
| Isolation | docker compose restart + network review | network_mode: host review |
| Escalation | Audit logs reviewed, docker logs | JSON-structured logging |
| Recovery | Restore from vaulted .env backup + vaulted docker-compose.yml.backup | git + rsync |
RTO/RPO: <4 hr / <15 min (measured via platform health validator SLAs) [1]
Infrastructure Security Controls
| Control | Implementation | Details |
|---|---|---|
| At-Rest Encryption | LUKS full-disk encryption on storage arrays | All model weights, RAG databases, and customer data encrypted at rest |
| In-Transit Encryption | TLS 1.3 for all inter-service communication | No plaintext protocols. AdGuard DNS-over-TLS for upstream queries |
| Backup Encryption | Encrypted rsync to local storage arrays | Versioned incremental backups with 30-day retention. No cloud backup -- all local |
| Firewall | iptables / nftables rulesets | Default-deny inbound. Explicit allow rules only. No exposed management ports to WAN |
| SSH Hardening | Key-based auth only (password auth disabled) | Non-standard port. fail2ban for brute-force detection. Root login disabled |
| Container Isolation | Docker Compose network segmentation | Each service in isolated network. No container runs as root. Resource limits enforced |
| Access Control | RBAC via local user management | Principle of least privilege. No shared accounts. sudo logged and audited |
| Network Segmentation | VLAN isolation on bridged LAN | Management, AI workloads, and client data on separate segments. No inter-VLAN routing by default |
| Physical Security | Access-controlled facility | Encrypted storage removable for secure transport. No remote management cards (IPMI/iLO) exposed |
| Container Image Security | Watchtower for automated patch updates | Images pulled from verified registries only. No privileged containers. Read-only root filesystem where possible |
Monitoring & Threat Detection
| System | Capability | Coverage |
|---|---|---|
| Wazuh SIEM | Real-time anomaly detection, log correlation, FIM | Host-based: file integrity, rootkit checks, log analysis. Network-based: traffic anomalies, connection tracking |
| AdGuard DNS | DNS-level filtering, ad-blocking, malware domain blocking | All DNS queries filtered. Malware and tracker domains blocked at network edge. DNS-over-TLS to upstream |
| SearXNG | Privacy-preserving meta search | No search tracking. No query logging. No third-party search cookies. Runs as local service |
| Prometheus + Grafana | Infrastructure metrics, alerting, dashboards | Container health, GPU utilization, service uptime. Alerting on anomaly thresholds |
| Audit Logging | JSON-structured logs with rotation | 100MB / 3-file rotation per service. All access events logged. Logs retained per compliance requirements |
| fail2ban | Brute-force attack detection and auto-ban | SSH, web services. Repeat offenders permanently banned |
Data Protection & Retention
| Policy | Implementation |
|---|---|
| Data Location | All data stored on local encrypted storage. Nothing transmitted off-platform unless explicitly authorized |
| Retention | RAG databases: retained per client SLA. Logs: 30-day rotation. Backups: 30-day incremental retention. Embeddings: persist with source documents |
| Data Deletion | Secure deletion (shred, not unlink) for sensitive data. Client data removed on request with verified wipe confirmation |
| Backup Strategy | Incremental rsync to local storage arrays (no --delete sync). Versioned backup scripts. No cloud backup -- all on-premises. Recovery tested quarterly |
| Password Policy | MFA on all admin interfaces. No password reuse. Secrets in .env, never in code or VCS |
| Patch Management | Automated security updates via unattended-upgrades (critical only). Container images auto-patched via Watchtower. Manual review for kernel and GPU driver updates |
| Vulnerability Scanning | Wazuh CVE detection on installed packages. Regular manual review of attack surface. No external scanning services -- all local |
Contact Information
Senior AI Specialist
Stephen Sargent
Email
Location
Phoenix, AZ
Availability
Immediate
Clearance
TS/SCI Eligible [1]
Schedule