Vectorio Protor · /protor
Vectorio Protor · v0.9 · cross-platform

Numbers you can defend.

A streaming runtime, an SQL compute engine and a distributed query plane — built as one coherent thing. Workflows are text. Extensions are signed. Numbers are absolute. Superfast. Low latency. Local. Secure. No per-query bill.

02b · code or canvas

Write it in VXL.
Or wire it on the canvas.

VXL is a terse, typed language for workflows — every node, property and edge as plain text. Prefer to see it? The same workflow opens on the canvas and runs live, rows moving through each node.

one workflow · two open formats
climate-music-continuous.vxl// Climate Music — Continuous Sonification
pipe "climate-music-continuous" v1 {

  // LAYER 0 · sequence generator — 8 weekly date windows
  node "date-sequence": gen.sequence {
    .mode      = "DateRange"
    .autoStart
    .startDate = "2025-01-01"
    .endDate   = "2025-03-01"
    .dateStep  = "7.00:00:00"
  }

  // LAYER 1 · build the API endpoint from each window
  node "derive-endpoint": etl.compute {
    .expr = CONCAT("/v1/archive?lat=40.71…&start_date=",
                 col"start_date", "&end_date=", col"end_date")
           as "endpoint_url": String
  }

  // LAYER 2 · advance one window per completed fetch
  node "endpoint-modulator": dyn.property {
    .triggerMode        = "OnFact"
    .watchSourceNodeIds = ["audio-output"]
    .watchFactTypes     = [2024]
  }
}
climate-music-continuous.viow// the same workflow, serialised — standards-friendly JSON
{
  "$schemaVersion": "1.0",
  "Id": "climate-music-continuous-001",
  "SyncFlowSettings": { "StreamingMode": "True", "ErrorHandling": "Continue" },
  "Elements": [
    {
      "TypeKey": "Vectorio.Generators.Sequence",
      "Id": "date-sequence",
      "Configuration": {
        "Mode": "DateRange", "AutoStart": "True",
        "StartDate": "2025-01-01", "EndDate": "2025-03-01",
        "DateStep": "7.00:00:00"
      }
    },
    {
      "TypeKey": "Vectorio.ETL.Compute",
      "Id": "derive-endpoint",
      "Configuration": { "StreamingMode": "True",
        "Expressions": { "endpoint_url": "CONCAT('/v1/archive?lat=40.71…')" } }
    }
  ]
}
Workflow designer · running · 40 rows/s
The Vectorio workflow designer — nodes wired on a canvas, running live at 40 rows per second, edges animating between Sequence, Compute and Publisher nodes

Same workflow, same signed .viow — author it as text or on the canvas, run it and watch the rows move.

scan · single-thread
74.79GB/s
ForBitpack columnar decode
group-by · multi-agg
112GB/s
fused SUM + MIN + MAX + COUNT · CPU, no GPU
cross-machine
22GB/s
VSPP · gRPC + TCP plane
seal-time agg
15B rows/s
single-aggregate path · O(N)
01 · architecture

One plane,
three concerns.

Movement, compute, and distribution are designed as one substrate. They share batches, columns, kernels, and signals. There is no glue, no bridge, no shim — by intent.

Sources
Postgres Kafka REST CSV / Parquet FastTable mount
Movement
streaming runtime· backpressure· alive-budget· VSPP transport
Compute
SQL · DML · UDF· columnar kernels· radix group-by· bitmap filter· radix join
Distribution
cluster nodes· control plane· zone-map pruning· mTLS + AES-256
Sinks
Lakehouse REST Forensic pack App / Studio

Same diagram, scale-free: from a single laptop pipeline to a 10,000-node cluster, the plane composition does not change — and the same plane carries 200+ nodes. See the catalog ↓

01b · the catalog

200+ nodes.
One open format.

Over 100 connector families ship with the engine — databases and warehouses, every major cloud, streaming, files, SaaS, AI/ML (local too), DSP & media, geospatial, healthcare, security & compliance, observability. Every node is a signed extension; every workflow is open .viow text. No node leaves the box.

Databases & warehouses
PostgresMySQLSQL ServerSQLiteMongoDBRedisClickHouseSnowflakeBigQueryElasticsearch
Cloud & object storage
S3Azure BlobAWS SQS/SNSDynamoDBLambdaGoogle Drive/SheetsSFTP
Streaming & messaging
KafkaAMQPRabbitMQMQTTRESTGraphQLODataWebServer
Files & formats
CSVJSONXMLExcelParquetBinaryFileDocumentsText
SaaS & business apps
SalesforceHubSpotShopifyStripeServiceNowJiraConfluenceLinearSlackTelegram
AI & ML
Local LLMOllamaOpenAIAI VisionStable DiffusionClassificationChain-of-Thought
DSP, audio & media
DSP analysisfrequencyAudio productionVoiceSonifyImage processingVideo
Geospatial
Spatial analyticsGDALTilesSTACSentinel
Healthcare & identity
FHIRHL7Pathology (ONNX)Active DirectoryLDAP
Security, compliance & governance
PolicyGate · ABACNIS2Forensic packLineageQualityGateCheckpoint
Observability & ops
DatadogSplunkSentryPagerDutyCloudWatch
Orchestration & control
Execution controlProperty controlCommand controlFact-opsSub-workflows

A representative slice of 100+ connector families / 200+ nodes. Don't see yours? The connector API is ~50 lines — a new node is a day, not a sprint.

02 · workflows are text

Diff it.
Sign it. Ship it.

A Vectorio workflow is plain text — authored in VXL, serialised to a standards-friendly .viow JSON. It lives in your repo, your code review, your audit trail. No vendor blob, no proprietary editor required.

  • Git-native. Branches and pull requests, not "exports".
  • Human-readable. Reviewers see what changed without opening a tool.
  • Open formats. VXL for authoring, JSON for everything else — no lock-in.
  • Signable. The same signature primitive that protects extensions protects pipelines.
  • Composable. Workflows reference workflows. Reuse without abstraction taxes.
03 · benchmarks

Numbers an auditor will trust.

Benchmarks below are reproducible from the open harness. We publish hardware, kernel mode, branch, and commit. We do not pre-aggregate seed data to flatter a chart.

Workload Kernel Hardware Throughput vs. last release
Columnar scanForBitpack decode · 1 threadM-class, 16 cores74.79 GB/s+12.4 %
GroupBy (single agg)radix · adaptive bankM-class, 16 cores15.0 B rows/s+9.6 %
GroupBy (multi-agg)fused SUM/COUNT/MIN/MAXM-class, 16 cores7.7 B rows/s+18.1 %
GroupBy (fused, throughput)byte-key dense · SUM/MIN/MAX/COUNTM-class, 16 cores112 GB/snew
Distributed queryVSPP · gRPC + TCP10× workers22.0 GB/s+38 %
Distributed query (D11b)VSPP raw bypass10× workers815 M rows/snew
Mounted store vs CSVFastTable mountM-class, 16 cores298 ×+212 %
AES-256 GCM transitsigned VSPPM-class, 16 cores1.8 GB/sstable

All measured on single hardware — scale to a cluster without re-architecting, no managed service, no per-query bill. Reproducible from our public benchmark harness.

04 · subsystems

A field guide to the engine.

SUB · 01

Streaming runtime

Backpressure-aware, alive-budget controlled, NUMA-aware page allocator. Per-source byte budgets, end-to-end memory control.

SegmentPool·AliveBudget·VSPP
SUB · 02

SQL compute

Columnar kernels, fused multi-aggregate, bitmap filter, radix join. SQL DML, distributed pruning over gRPC.

RollupNode·QualityGate·ComputeNode
SUB · 03

Distributed plane

Cluster.Node + ControlPlane + VSPP data channel. mTLS + AES-256, zone-map pruning, JWT/ABAC, tenant isolation.

ControlPlane·WorkerStore·165 tests
SUB · 04

Plugin architecture

System extension hooks, signed extensions, contract validation, command contribution. Probes, actuators, contracts.

AssemblySignatureVerifier·SignaturePolicy
SUB · 05

Forensic layer

Every query leaves an auditable record — evidence collector, hash chains, signed manifests, replayable lanes — so you can answer "why was this number calculated?" to any auditor.

Vectorio.Forensic·EvidencePack
SUB · 06

NodeDataStore

Unified persistence layer. Store, dedup, spill, update policy, load strategy. Distributed fields reserved in manifest.

FastTable / Store·UpdatePolicy
SUB · 07

Studio & Designer

VSCode-style docking, panel catalog, theme integration, layout persistence. Visual composer over the same engine.

DockFramework·SP3
SUB · 08

App Builder

Compose .vapp, ship to iOS / macOS / desktop. Fact-driven binding, event pipeline, design system, secure deployment modes.

AppBuilder·VecNodeControl

Any sector. One engine.

Sovereign by design.

Engineered in Berlin. Runs on the hardware you own, in the jurisdiction you choose. Every extension that touches the pipeline carries cryptographic provenance — no managed lock-in, no vendor cloud required.

  • On-prem, on-device, or sovereign cloud. The same engine, the same kernels. No managed lock-in. DEPLOYMENT · cross-platform · containerised · bare-metal
  • Signed extensions, verified at load. Every plugin carries a publisher signature. Policy decides what runs. SECURITY · AssemblySignatureVerifier · trusted publisher PEM
  • Forensic-grade audit out of the box. Evidence packs, hash chains, signed manifests — built into the data plane, not bolted on. AUDIT · Vectorio.Forensic · evidence collector / pack / verifier
  • Plain workflows, plain JSON. .viow is a text format. Diffable, reviewable, signable. No vendor blob. FORMAT · open · text · git-native
05 · one of two

Protor is one half of Vectorio.

Protor is Vectorio's data engine — the deterministic plane your pipelines move and compute on. Its independent sibling, Indago, is our discovery engine: the same company, the same sovereignty principles, a different problem entirely.

Two products, one engineering bar. If you came for the data plane you're in the right place — Protor is what this page is about.