Network architecture
The application uses a two-process model with loopback-only communication between the Electron UI and the SASS backend.
The application uses a two-process model. All communication between the Electron UI and the SASS backend occurs exclusively over the loopback interface (127.0.0.1).
┌─────────────────────────────────┐
│ Sennheiser Firmware Updater UI │ (Electron, user session)
└──────────────┬──────────────────┘
│ IPC / localhost only
▼
┌─────────────────────────────────┐
│ SASS Backend localhost:8181 │ (.NET 8 service, spawned by UI)
└──────────────┬──────────────────┘
│ mDNS (UDP 5353) — discovery
│ HTTPS (SSCv2) — EW-DX, chargers
│ SSC over UDP 45 (SSCv1) — L 6000
▼
┌─────────────────────────────────┐
│ Sennheiser Devices (LAN) │
└─────────────────────────────────┘
Internal Loopback Endpoints (no firewall exception required)
| Endpoint | Protocol | Purpose |
|---|---|---|
| http://localhost:8181/api | HTTP | REST API for device management and firmware operations |
| http://localhost:8181/api/health | HTTP GET | Backend health monitoring |
| http://localhost:8181/websocketHub | SignalR / WebSocket | Real-time device events |
These endpoints bind to localhost only and are never reachable from the network.
