docker run -p 9090:9090 ghcr.io/vyuvaraj/pranor-pulse:latest
Pranor Pulse is a full-featured, enterprise-grade message broker for the Pranor ecosystem. It supports server-side STOMP brokering, browser-local OPFS-backed queueing, multi-protocol adapters (Kafka wire, MQTT v5), and advanced security (FIPS 140-3, post-quantum cryptography, blind E2EE).
STOMP 1.2 message broker : Topic/queue routing with fan-out, competing consumers, and durable subscriptions
Exactly-once delivery semantics : Idempotent message IDs with deduplication window
DLQ + Exponential Backoff Engine : Failed messages automatically moved to Dead Letter Queue with configurable retry policies; exponential backoff with jitter
Point-in-time event replay : Replay messages from any historical offset on demand
Schema Registry & Validation : Embedded schema registry for message contract enforcement (Avro/JSON Schema/Protobuf); schema evolution with compatibility checks
Atomic Multi-Topic Transactions : ACID-style multi-topic publish/consume transactions
Cooperative Consumer Rebalancing : Sticky partition assignment with graceful rebalance on consumer join/leave
OPFS Storage Driver (pkg/opfs): Full browser-native persistent queue using Origin Private File System
WASM/JS FFI bindings (@pranor/pulse-wasm): Use Pranor Pulse from the browser with a TypeScript SDK
SharedWorker multi-tab coordination : Single broker across all browser tabs via SharedWorker
Multi-tab OPFS leader election : navigator.locks-based lease protocol ensures only one tab acts as queue leader at a time
Client-side AES-256-GCM encryption at rest : Messages encrypted before writing to OPFS
WebTransport HTTP/3 QUIC relay : Browser outbox relay over QUIC for low-latency connectivity
Offline outbox & reconnect relay : Queue messages offline; auto-relay when connectivity restores
Auto-compaction & quota manager : Automatic OPFS quota management with configurable size limits
Client-side WASM stream filters : Run sandboxed WASM modules to transform/filter messages in-browser
Persistent storage eviction safeguard : Priority-based eviction prevents silent data loss at storage limits
Write-Ahead Log (WAL) with corruption recovery and CRC checksums
Topic Log Compaction Policy Engine : Key-based compaction (retain only latest value per key), tombstone purging, TTL-based retention
Tiered cloud storage offloading : Hot/warm/cold tier management with S3-compatible backend
Automated storage tiering & compaction : Background compaction scheduler with configurable policies
Kafka Wire Protocol Compatibility : Drop-in replacement for Kafka consumers/producers (Kafka binary protocol)
MQTT v5.0 IoT Gateway : Full MQTT v5 adapter — QoS 0/1/2, retain, session persistence, will messages
Change Data Capture (CDC) Engine : Database change event streaming (row-level insert/update/delete events)
Real-time Stream SQL Windowing : Tumbling, sliding, and session windows with aggregations (COUNT, SUM, AVG)
Multi-tenant VHosts & rate quotas : Isolated virtual hosts per tenant with per-tenant rate limits and storage quotas
Zero-Trust OAuth2 & SPIFFE auth : Per-connection authentication with SPIFFE workload identity attestation
┌─────────────────────────────────────────────────────────────┐
│ Pranor Pulse │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ STOMP Broker │ │ Kafka Compat │ │ MQTT v5 Gateway │ │
│ └──────┬───────┘ └──────┬───────┘ └────────┬─────────┘ │
│ └─────────────────┼──────────────────-─┘ │
│ ▼ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ Schema Registry & Validation │ │
│ └────────────────────────────┬───────────────────────────┘ │
│ ▼ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ WAL Storage Engine │ Compaction │ Tiered Offload │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌────────────────────┐ │
│ │ DLQ Engine │ │ CDC Streamer │ │ SQL Window Engine │ │
│ └─────────────┘ └──────────────┘ └────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Method Path Description
POST/api/v1/topicsCreate a topic
GET/api/v1/topicsList all topics
POST/api/v1/publishPublish a message to a topic
POST/api/v1/subscribeSubscribe to a topic (SSE or WebSocket)
GET/api/v1/consumersList consumer groups
GET/api/v1/consumers/{group}/lagConsumer group lag per partition
POST/api/v1/schemasRegister a message schema
GET/api/v1/schemas/{topic}Get schema for a topic
GET/api/v1/dlq/{topic}Browse DLQ for a topic
POST/api/v1/dlq/{topic}/replayReplay DLQ messages
POST/api/v1/replayPoint-in-time replay from offset
POST/api/v1/compact/{topic}Trigger log compaction for topic
GET/api/v1/transactions/{id}Query atomic transaction status
/metricsGETPrometheus metrics (per-topic lag, throughput, error rates)
Protocol Transport Notes
STOMP 1.2 TCP / WebSocket Primary protocol
Kafka Binary TCP Wire-compatible; use existing Kafka clients
MQTT v5.0 TCP / WebSocket IoT device support, QoS 0/1/2
OPFS (browser) WASM Local-first browser queue
WebTransport HTTP/3 QUIC Browser outbox relay
Install the browser SDK:
npm install @pranor/pulse-wasm
import { Pranor Pulse } from '@pranor/pulse-wasm';
const queue = new Pranor Pulse({ encryption: 'aes-256-gcm' });
await queue.publish('orders', { id: 1, item: 'Widget' });
await queue.subscribe('orders', (msg) => console.log(msg));
// Auto-syncs to server when online; stores locally when offline
await queue.enableOfflineSync({ serverUrl: 'wss://queue.pranor.net' });
Feature Description
FIPS 140-3 & HSM key unsealing HSM-backed key management for regulated environments
Blind Broker E2EE End-to-end encryption — broker never sees plaintext
Post-Quantum Hybrid Crypto (PQC) X25519+Kyber hybrid key exchange
Tamper-Evident Merkle Audit Ledger Append-only Merkle tree audit log for every message event
Inline WASM AI Guardrails Sandboxed WASM interceptors on message payloads
Byzantine Fault Tolerant Consensus BFT Raft variant for tamper-resistant cluster consensus
Zero-Trust OAuth2 & SPIFFE Per-connection workload identity attestation
AES-256-GCM (OPFS) Client-side encryption for browser-local messages
Prometheus /metrics : Per-topic message rate, consumer lag, DLQ depth, compaction stats
OTel W3C Trace Context : traceparent header propagated per message through full pipeline
Pranor Console Queue Inspector : Live topic browser, consumer group lag dashboard, DLQ browser with one-click replay, schema registry browser
# Standalone daemon
pranor-pulsed --port 9090 --storage ./data --tls
# CLI
pranor-pulse publish orders '{"id": 1}'
pranor-pulse consume orders --group my-service
pranor pulse publish orders '{"id": 1}' # Pranor integration
# Kubernetes Operator
kubectl apply -f pranor-pulsecluster.yaml
# KEDA auto-scaling
kubectl apply -f keda-scaledobject.yaml # Scale consumers on lag
Multi-language client SDKs: Go, TypeScript/JS, Python, Rust, Java.
Cross-cloud active-active geo-replication with automated failover and conflict resolution.
docker run -p 9090:9090 \
-e PRANOR_PULSE_STORAGE_PATH=/data \
-e PRANOR_PULSE_OTEL_ENDPOINT=http://pranor-trace:4318 \
-v queue-data:/data \
ghcr.io/vyuvaraj/pranor-pulse:latest
Variable Default Description
PRANOR_PULSE_PORT9090Listener port
PRANOR_PULSE_STORAGE_PATH./dataWAL and segment storage directory
PRANOR_PULSE_OTEL_ENDPOINT— OpenTelemetry collector URL
PRANOR_PULSE_S3_BUCKET— S3 bucket for tiered offloading
PRANOR_PULSE_KAFKA_COMPATfalseEnable Kafka wire protocol adapter
PRANOR_PULSE_MQTT_PORT— MQTT listener port
PRANOR_PULSE_FIPSfalseEnable FIPS 140-3 mode (EE)
Feature Tier
Geo-Replication across clouds EE
Kafka Protocol Adapter EE
FIPS 140-3 HSM & Sovereign Security EE
Inline WASM AI Guardrails EE
eBPF Kernel Bypass & XDP Acceleration EE
Multi-Cloud Tiered Storage Compaction EE
AWS EventBridge & Enterprise Webhooks Connector EE
Multi-Cluster Kubernetes Federation EE
SIMD/AVX-512 Vectorized Filter Engine EE
Byzantine Fault Tolerant Consensus EE
Post-Quantum Hybrid Cryptography EE