Collector architecture and roadmap

Why the collector is built in Go, the outbound mTLS trust model, its module system, and the phased roadmap.

Updated Aug 24, 2026Product 2026.98 minPlatform admin, Developer, Internal IT

Overview

The collector is designed as a small, single static binary that runs unattended on customer infrastructure with no inbound network exposure. Its architecture prioritizes a minimal attack surface, predictable resource use, and a clean separation between discovery/assessment modules and the trust relationship with the AssurIQ control plane.

Why Go

The initial collector implementation is built in Go. Go compiles to small, dependency-free static binaries, cross-compiles cleanly to the target operating systems and architectures without a separate build environment per platform, and its goroutine model suits the highly concurrent, I/O-bound nature of network discovery, SNMP polling and parallel target probing.

  • Static binaries simplify distribution: no runtime, interpreter or shared library dependencies on the target host.
  • Cross-compilation from a single toolchain supports Windows, Linux and future architectures from the same codebase.
  • Lightweight concurrency primitives make it straightforward to poll many targets in parallel within a bounded concurrency limit.

Outbound trust model

The collector never accepts inbound connections. It enrolls once using a random, single-use, short-lived token — of which the control plane only ever stores a SHA-256 hash — and exchanges that token for a permanent collector credential. Today that credential is used as a bearer token over HTTPS; the designed target model is a per-collector mutual TLS device certificate, issued and rotated by the control plane, with the current transport implementation marked as a mock of that model pending full certificate lifecycle tooling.

Credentials and enrollment tokens are independent of each other by design: a credential can be revoked at any time without needing the original token, and a new enrollment always requires a freshly issued token.

Module system

Collector functionality is organized as discrete modules, each responsible for one kind of evidence or discovery activity. A given deployment runs only the modules relevant to its scope; not every module needs to be enabled at every site.

Most modules are not active in v0.1
The shipping v0.1 collector implements Core Heartbeat and conservative TCP-connect Port/Service Discovery within approved CIDRs. SNMP Discovery, LLDP/CDP Enrichment, ARP/ICMP-based Network Discovery, Vulnerability Probe, Configuration Collection, Active Directory Assessment and Local Evidence Collection are designed but not yet active. See What the v0.1 collector does today for the current list.
ModulePurpose
Core HeartbeatLiveness, version reporting and enrollment lifecycle — always active
Network DiscoveryARP/ICMP sweeps and host seeding
Host InventoryOS, software and hardware inventory
Port/Service DiscoveryOpen ports and service fingerprinting
SNMP DiscoveryPolling network devices via SNMPv2c/v3
LLDP/CDP EnrichmentNeighbor-protocol topology building
DNS/DHCP EnrichmentHostname and lease correlation
Vulnerability ProbeAuthenticated and unauthenticated vulnerability checks
Configuration CollectionDevice configuration backup and diffing
Syslog ReceiverIngest of forwarded device logs
Flow ReceiverNetFlow/sFlow/IPFIX ingestion
Active Directory AssessmentOn-prem AD hygiene checks
Local Evidence CollectionHost-local compliance artifacts
Not every module listed is available in every release. Check the release notes for the current module availability before planning a deployment around a specific one.

Roadmap

The collector is being built out in phases, moving from a working outbound-only agent with bearer-token trust toward the fully designed mTLS device-identity model and broader platform coverage.

PhaseFocus
Phase AOutbound-only enrollment and heartbeat, core discovery modules, Windows/Linux/Docker x64 packages
Phase BFull mTLS device-certificate issuance and rotation replacing the current bearer-token transport; expanded module coverage
Phase CARM64 packages for Windows and Linux; hardened VM appliance
Phase DBroader fleet-management tooling: staged rollout rings, richer health telemetry, and deeper module plugin ecosystem
Windows ARM64, Linux ARM64 and the VM appliance are roadmap items, not currently available launch packages.
Was this helpful?