ABOUT

QX9 researches encrypted infrastructure for critical communications and publishes protocol documentation and wire-format analysis tools under open licenses, designed to interoperate with next-generation 911 (NENA i3) standards.

The adoption cycle

Public-safety agencies adopt new systems slowly. The NENA i3 standard for next-generation 911 was approved in 2011, and in 2024 the transition to it was still under way across most of the United States, with call routing in many dispatch centers running on systems installed a generation earlier. QX9's purpose is to design ahead of that cycle.

Telephone exchange, 1964, cropped from Fortepan 76708, Erky-Nagy Tibor, CC BY-SA 3.0.

Who and how

QX9 is organized as a small design studio, meant to bring artists, project managers, engineers, and other technical people onto one software engineering platform that IT departments and critical-communications engineering teams can adopt whole, with accessibility built in. Veilid makes that possible at this scale. An application can carry Veilid as a library, the way it relies on a TCP/IP stack or carries a database engine. That one substrate supplies encrypted transport, shared storage, and a way to reach a peer, so the designers of a dispatch or call-taking application can spend their effort on the application itself. For that work, QX9 is developing test simulators and best practices. QX9 has one member today; colleagues and long-standing collaborators join as the work warrants, and QX9's own coordination tools will run on Veilid once it has a chat system built for groups.

Disclaimer: This software is not certified for use in life-safety, emergency-dispatch, or mission-critical communications systems. Do not rely on it for emergency response.
QX9 materials are provided for educational, research, and development purposes only; no regulatory body has evaluated or approved them, and any production NG911, E911, APCO-25, or public safety radio dispatch deployment needs independent professional review, testing, and certification first. See Terms of Use.

ABOUT VEILID

Veilid is an open-source, peer-to-peer application framework created by members of Cult of the Dead Cow and maintained by the Veilid Foundation (veilid.org). Built in Rust, it provides end-to-end encrypted messaging, storage, and private routing.

Nodes reachable from the public internet carry traffic for the nodes that are not, and confirm that the addresses those nodes advertise can be reached. The Veilid Explainer covers how a node joins and how data is stored and read.

QX-TOOLKIT WIP

The QX9 Network Analysis Toolkit is an open-source Wireshark dissector and Veilid protocol primer for inspecting and understanding peer-to-peer network traffic. The toolkit is released under MPL-2.0 (code) and CC BY-SA 4.0 (docs).

Lua Dissector

Wireshark Veilid Dissector

A Lua dissector for inspecting Veilid peer-to-peer protocol traffic in Wireshark, with TCP reassembly, heuristic detection, expert diagnostics, and display filters. It reads the encrypted envelope, out-of-band receipt, and bootstrap request and response message types, and never decrypts: an envelope's encrypted body is shown as raw bytes.

Wire Format Visuals

Protocol Diagrams

ENV0 encrypted envelope wire format diagram

SVG diagrams of Veilid's message types and transports, each drawn from constants and offsets validated against the veilid-core source. The wire formats are byte-identical from 0.5.2 through 0.5.7; 0.5.8 keeps every header and sizes UDP datagrams by the transport MTU. The two marked anticipated below sketch a later envelope version and a QUIC transport that veilid-core does not define as of 0.5.8.

TypeDescription
ENV0Encrypted envelope layout
ENV1Anticipated layout for a later envelope version
RCP0Out-of-band receipt layout
BOOTBootstrap request/response flow
TCPVL frame structure
UDPFragment header and reassembly
QUICAnticipated QUIC transport
WSWebSocket transport framing
Documentation

Architecture Overview

Architecture overview of the dissector plugin: installation, plugin structure, the dissector pipeline, and byte-level wire format diagrams, with links to the dissector manual. The page doubles as a primer on the Veilid wire format, and reads on its own without installing anything.

Roadmap: The Veilid wire protocol is still under active development and has no published specification. Once the protocol settles, the goal is a C dissector built into Wireshark, whether that work comes from QX9, the Veilid community, or both.

VNS WIP

VNS is a proposed naming system built on the Veilid distributed hash table. An address is an encoding of an . Addresses are not issued or registered: the holder creates the key, and only the holder of the matching secret can publish a valid record at the address the key encodes. The idea is the one use, the key as the address, carried over to Veilid in a different encoding. The specification and its reference implementation are not published.

Substrate

Veilid Explainer

What Veilid provides, in the detail needed to follow the VNS page: how nodes take the place of servers, the distributed hash table and its two stores, what happens when you read a record, and what the framework leaves to applications.

Naming

VNS Explainer

What an address is made of, how one resolves with no authority consulted, what the design removes from the classic web, and what it does not provide.

StatusEngineering draft

CONTRIBUTING

Get involved: See the qx-toolkit CONTRIBUTING.md for guidelines on submitting changes and reporting bugs. See also Veilid's CONTRIBUTING.md and community Discord. Questions or issues: admin@qx9.org
Distributed hash table (DHT): A key‑value store spread across many nodes. Each key determines which nodes hold its value, so the table needs no central index.
Tor v3 onion address: A .onion address that encodes a service’s ed25519 public key, a checksum, and a version number, so the address itself identifies the key.
ed25519: A digital‑signature scheme (RFC 8032) built on the elliptic curve Curve25519. An ed25519 public key is 32 bytes.
Public key: The half of a key pair that is safe to share. Anyone can use a public key to check a signature made with the matching secret key.