Public beta scope: AD workflows have real-system path validation, but NOBA is still under active verification. Treat compliance evidence and self-healing claims as evaluation surfaces unless the source and configured state are shown. Read validation boundaries.

Architecture

How NOBA works under the hood.

Stack

Data Flow

Browser <──SSE──> FastAPI Server <──WebSocket──> Remote Agent
      │                 │                              │
   xterm.js          SQLite /                     Local psutil
   Remote Desktop    PostgreSQL /                  + /proc direct
   AI Chat Panel     MySQL                        + integrations
                        │
                 Integration APIs              Agent Capabilities:
              (Proxmox, Docker, K8s,           42 commands, 3 risk tiers
               Pi-hole, UniFi, etc.)           Remote desktop (Wayland/X11/Win)
                        │                      Embedded terminal (PTY)
                 Healing Engine                File transfer (50 MB, SHA-256)
              (6-layer pipeline)               Self-update & self-heal

Deployment Boundary

NOBA is deployed into your environment. The server owns the database, integrations, audit log, automation state, and agent control plane. Remote agents connect back to the server over encrypted WebSocket with polling fallback; operators use the browser UI against the server.

External network access is only needed for the services you configure: monitored integrations, optional identity providers, optional LLM providers, optional notification/SIEM/OTel targets, and the updater checking the public release manifest. The built-in AI assistant is optional and can use a local Ollama endpoint.

Release & Updater Path

NOBA Enterprise releases are built from tagged releases in the enterprise repository. The release workflow publishes packages to GitHub Releases and uploads tarballs/packages into Cloudflare R2 under versioned prefixes.

The public website serves those artifacts from R2 at /download/*. The app updater reads https://www.nobacmd.com/download/latest/version.json, then downloads the tarball path declared in that manifest. The server-side updater validates unsafe manifest paths, extracts the tarball into a temporary directory, checks the expected NOBA web layout, and applies the update with backup/rollback handling.

Validation Boundary

Core migration flows have been exercised in a real remote lab across two locations, WAN links, four Proxmox hosts, four AD environments, and an Azure development tenant. The validation topology documents that coverage and the customer-scale validation still wanted during beta.

Security Model

Authentication & Directory Integration

OWASP Compliance

Authorization

All medium and high risk actions are audit-logged with username, IP, timestamp, and parameters.

Operational Evidence

Enterprise surfaces are designed around auditability: approval decisions, high-risk commands, self-healing activity, identity changes, security posture, drift, retention, and compliance-oriented exports are visible from the control plane. Trust Center summarizes detected or configured license, identity, backup, integration, SSO/SCIM, and export state; audit and maintenance remain linked as evidence and control workflows rather than scored readiness by default.

Self-Healing Engine

Six-layer pipeline:

  1. Correlation: Group related alerts across agents and services
  2. Dependency Analysis: Map impact using service topology
  3. Planning: Select actions based on risk tier and cooldowns
  4. Execution: Dispatch locally or via agent WebSocket
  5. Verification: Re-collect metrics, confirm fix applied
  6. Learning: Record outcome for future decisions

Actions execute autonomously for low-risk scenarios. High-risk actions are gated by role. Maintenance windows suppress healing during planned work.

Remote Agents

Each remote site runs a single agent packaged as a Python zipapp (zero external dependencies). Python 3.6+ on Linux, Windows, or macOS.

AI Ops Integration

The AI assistant receives a real-time system prompt built from live infrastructure state: fleet status, resource averages, active alerts, and recent incidents. Suggested actions are parsed from LLM responses and rendered as buttons requiring human confirmation before execution.

Supports Anthropic (Claude), OpenAI, Ollama (local), and any OpenAI-compatible endpoint. Off by default.