Architecture

Cyber engine & Intelligence. Decisions stay deterministic.

Velosight draws a firm line between the layer that proposes (AI) and the layer that decides (a deterministic engine with policy, approval, and audit trail). Every component boundary is designed to be replaceable without changing anything else.

Data flow

From data sources to the console.

L1

Connector Framework

Go
Active DirectoryCrowdStrikeTenable.iovCenterAWSKubernetesServiceNow CMDBFortiGatemanual · import · scan
L2

Normalization & Correlation

Go
blockingpairwise scoringsurvivorship⇒ Golden Asset Record
L3

Storage

SoR + Graph
PostgreSQL 16 + pgvector — system of record & KBNeo4j 5 — Asset Relationship & Attack GraphMinIO — evidenceRedis
L4

AI Service

Python · FastAPI
#1 Entity Resolution#2 Classification#3 Risk Prioritization#4 Attack Path Prediction#5 Exposure Planner#6 Security Copilot (GraphRAG)
L5

Exposure Validation Engine

Go · deterministic
policyscopeapprovalguardrailaudit trail
L6

Web Console

Next.js
Cytoscape.jsApache EChartsTanStack QueryTailwind

Six AI engines

An explainable intelligence layer.

Every score comes with an explanation, every answer with its sources, and every engine has a deterministic fallback when supporting services are unavailable.

#1

Entity Resolution

Probabilistic resolution that complements deterministic correlation, with protection against over-merging.

#2

Classification

Determines asset type and criticality; operator-supplied values always win over machine guesses.

#3

Risk Prioritization

An eight-factor multiplicative risk model with per-factor contributions and narrative.

#4

Attack Path Prediction

Attacker state search, k-best Dijkstra, and choke point analysis.

#5

Exposure Planner

Translates attack paths into validation plans — which are then checked by policy.

#6

Security Copilot

Graph RAG over Neo4j, PostgreSQL, and a pgvector knowledge base.

Technology stack

Chosen for speed, readability, and control.

LayerTechnology
FrontendNext.js · React · TypeScript · Tailwind · Cytoscape.js · Apache ECharts · TanStack Query
Cyber engineGo — connectors, correlation, graph projection, validation engine, REST API
Intelligence enginePython 3.11 · FastAPI — 6 AI engines, Graph RAG
System of recordPostgreSQL 16 + pgvector
GraphNeo4j 5 — Asset, Identity, Credential, Vulnerability, Application property graph
Object storageMinIO — evidence and artifacts
CacheRedis
DeploymentDocker Compose · Kubernetes manifests

Design principles

Decisions that make the platform trustworthy.

One pipeline for every entry path

Vendor connectors, manual input, imports, and network scans all produce a SourceRecord. There is no shortcut that writes directly to the asset table.

Degraded mode, not failure

Without Neo4j, the graph is built from PostgreSQL and the graph source is shown in the UI. Without an LLM API key, the deterministic narrator takes over.

Secrets never come back

Connector and scan credentials are sealed with AES-256-GCM and never returned by the API.

Separate live and demo datasets

Each has its own PostgreSQL, Neo4j, and AI service — demonstrations never pollute the real inventory.

An event log ready to scale

Topics such as asset.raw, exposure.detected, and risk.updated run in-process today, with isolated replacement points for Kafka, ClickHouse, and Temporal.

Honesty about uncertainty

Failed, unreachable, and pending states are kept distinct; potential findings never form attack paths.

Deployment

Runs on your infrastructure.

Self-hosted with Docker Compose for evaluation, or Kubernetes manifests for production. The vulnerability knowledge base is supplied by Velosight Hub as signed bundles.

  • A full discovery cycle in seconds.
  • The Service Status page monitors core-api, each dataset's databases, the AI service, scheduler, feed, Redis, and MinIO.
  • A complete REST API for integration with SOAR, ticketing, and reporting.
# local evaluation
$ make up
$ make seed

# API examples
GET  /api/v1/stats/overview
GET  /api/v1/assets/{id}/correlation
GET  /api/v1/attack-paths
GET  /api/v1/exposures?on_attack_path=true
POST /api/v1/campaigns
POST /api/v1/campaigns/{id}/approve
POST /api/v1/ai/copilot

Discuss the architecture with our team.

We can walk through integration requirements, sizing, and deployment models for your environment.