Making the Invisible Internet Visible. A beginner-friendly, production-grade Internet observability platform built in Rust and React/Tauri.
NetPulse reconstructs, explains, and teaches the complete story behind network events on your computer β locally, privately, and beautifully. Instead of showing raw packet bytes first, NetPulse delivers understanding first, keeping deep technical inspection one click away.
- Observe, Don't Intervene: Listens passively. Never blocks, injects, or alters network traffic.
- Local-First & Private: Offline parsing, flow reconstruction, and anomaly detection. Single egress boundary in
netpulse-ai. - Calibrated Confidence: Every security finding carries an explicit confidence score linked to exact packet/flow evidence.
- Progressive Disclosure: One rich data model served across three customizable depth levels (Beginner, Intermediate, Expert).
NetPulse capabilities are specified, implemented, and executed across three distinct maturity dimensions:
- Design: Architecture, specs, contracts, and privacy bounds.
- Code: Parsers, data models, state machines, and unit tests.
- Runtime: Active execution in standard builds, live OS capture, persistent DB, or GUI integration.
Status Legend: β
Complete | π§ In Progress | π Planned | Single Source of Truth: docs/status.yml
| Capability | Key Crates & Packages | Design | Code | Runtime | Description |
|---|---|---|---|---|---|
| Capture & Decoding | netpulse-capture, netpulse-decode, netpulse-flow, netpulse-storage, netpulse-platform |
β Complete | β Complete | π§ In Progress | Zero-copy decoding (Ethernet, IPv4/6, TCP, UDP, DNS, HTTP, TLS), flow assembly, PCAP/PCAPNG parsing & replay complete. Live Npcap capture & durable SQLite storage in progress. |
| Narrative & Presentation | netpulse-narrative, netpulse-api, @netpulse/contract, ui/ |
β Complete | β Complete | π§ In Progress | Session narrative card projection & v4 API DTO contract complete. Real-time bandwidth/latency monitoring UI & socket process attribution (GetExtendedTcpTable) in progress. |
| Education & Exploration | netpulse-learn, @netpulse/app |
β Complete | β Complete | β Complete | Grounded interactive curriculum, Website Load Journey synthesizer, and Protocol Explorer reference content fully operational. |
| Intelligence & AI | netpulse-intel, netpulse-ai |
β Complete | β Complete | π§ In Progress | Threat detectors (DNS tunneling, port scans), statistical anomaly engine, grounded retrieval & LocalTemplateBackend complete. Local ONNX LLM backend planned. |
| Lifecycle & Plugins | netpulse-engine, netpulse-plugin, netpulse-capture-svc |
β Complete | β Complete | π§ In Progress | Session recording & deterministic replay, PCAPNG import/export, plugin seam traits & trust model complete. WASM runtime loader & privileged daemon loop in progress/planned. |
NetPulse separates responsibilities across distinct processes to maintain privilege isolation and system stability. The crate dependency graph strictly enforces a downward hierarchy. Higher layers depend on lower layers, never the reverse.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Desktop User UI β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Vite + React Application β β
β β (@netpulse/app, @netpulse/components, @netpulse/viz) β β
β βββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ β
β β IPC (Tauri v2 invoke / events) β
β βββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββ β
β β Tauri Desktop Shell (`src-tauri`) β β
β βββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Query / Command (netpulse-api v4)
ββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β Engine Process (`netpulse-engine`) β
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ ββββββββββββ β
β β narrative β β intel β β learn β β ai β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββ¬ββββββ β
β ββββββββββββββββββββΌβββββββββββββββββββ β β
β βΌ β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β storage βββββ flow βββββ decode β β β
β ββββββββββββββββ ββββββββββββββββ ββββββββ¬ββββββββ β β
β β² β β β
ββββββββββββββββββββββββββββββΌβββββββββββββββββββΌβββββββββββββββββΌβββββββββ
β β β
ββββββββββββββββββββββββββββββΌβββββββββββββββββββΌβββββββββββββββββΌβββββββββ
β Privileged Capture β β β β
β Service (optional) β β βΌ β
β βββββββββββββββββββββββββββ΄ββββββββββ β βββββββββββββββββββ€
β β `netpulse-capture-svc` (bin) β β β Opt-in Egress β
β β or `netpulse-platform` (Npcap) β β β AI Assistant β
β βββββββββββββββββββββββββββββββββββββ β βββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββ
βΌ
Raw Network Interfaces / PCAP
For complete architectural specifications, see ARCHITECTURE.md.
- Rust 1.96+: Pinned in
rust-toolchain.toml. - Node.js 20+ & pnpm 9: Frontend workspace tools (
corepack enable). - Tauri CLI v2: Desktop app shell (
cargo install tauri-cli --version '^2'). - Npcap (Windows): Required for live capture (install with WinPcap API-compatible mode).
cargo build --workspace
cargo test --workspace
cargo run -p netpulse-engine -- path/to/capture.pcappnpm install
pnpm --filter @netpulse/contract typecheck
pnpm --filter @netpulse/app devcargo tauri devcrates/ 14 Rust workspace crates β engine, decode, flow, storage, intel, AI, API
ui/ pnpm workspace β app, contract, design-system, components, viz
src-tauri/ Tauri v2 desktop shell and IPC bridge
plugins/ First-party reference plugins (dissector, detector, enrichment, export, view)
fixtures/ Deterministic test capture files (.pcap / .pcapng)
fuzz/ cargo-fuzz targets for protocol dissectors
models/ Local ONNX model files and model cards
research/ Offline model training scripts (Python)
scripts/ Cross-platform build and release automation
data/ Local offline enrichment databases (GeoIP, ASN, MAC vendors)
ARCHITECTURE.mdβ System design, process model, and crate taxonomy.CONTRIBUTING.mdβ Development workflows, quality gates, and codegen.SECURITY.mdβ Security posture, isolation boundaries, and vulnerability reporting.CODE_OF_CONDUCT.mdβ Community standards and covenant.
Run local checks before pushing:
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
python scripts/verify_docs_status.py
pnpm --filter @netpulse/contract typecheckDual-licensed under MIT or Apache-2.0.