A multi-tenant, multi-vendor, offline-first network operating system engineered for the unique demands of vessel operations — from satellite uplink to crew WiFi.
A complete maritime network operating platform that lets Unimars manage entire vessel fleets through a single pane of glass — while every ship keeps running even when satellites drop.
Three-level hierarchy: Unimars NMS → Distributors → Customers. Strict data isolation through PostgreSQL Row-Level Security.
Native drivers for Starlink (gRPC), VSAT (SNMP), 4G/5G (AT commands). Cost-aware routing with bandwidth budget enforcement.
Unified abstraction over MikroTik RouterOS, Cisco IOS-XE, and Fortinet FortiOS. One platform. Three router families. Zero lock-in.
A pre-imaged mini-PC that runs FreeRADIUS, captive portal, DNS filtering, and sync agent — offline-first, always available.
WireGuard primary, SSH-over-TLS fallback, Cloudflare Tunnel optional. Encrypted with ChaCha20-Poly1305. License-bound binaries.
Prometheus + Grafana + Loki for platform metrics. Feature flags, staged OTA updates, GDPR-compliant audit trails.
Every architectural decision exists because vessels are not data centers. Networks drop. Bandwidth costs money. Crews change. Satellites fail.
Vessels must operate when the cloud is unreachable. Satellite drops can last minutes, hours, or weeks (vessel in port).
How we deliver this: Edge Box runs all critical services locally. Configurations cached. Vouchers redeemed offline. Telemetry buffered and replayed on reconnect.
Satellite data plans are expensive and capped. A streaming crew member can blow a vessel's monthly budget in a weekend.
How we deliver this: Per-VLAN bandwidth limits, application-level QoS, monthly budget enforcement with auto-actions, and content filtering to block bandwidth-hungry apps.
A small tugboat with a hAP and 10 crew is not a cruise ship with 6-port firewalls and 2,000 guests.
How we deliver this: Three Edge Box hardware tiers (Standard/Industrial/Heavy). Three router vendor drivers. Configurable per-vessel feature flags for safe per-vessel customization.
Source code stays with us. Customer data stays in customer tenancy. Compromised app code cannot leak across tenants.
How we deliver this: Compiled binaries on Edge Box only. PostgreSQL Row-Level Security. License validation every 24 hours. Tamper detection with auto-shutdown.
Every feature listed here is in scope for Phase 1. Click each module to expand and see the individual capabilities being built.
From a user's phone in the crew lounge, all the way through the captive portal, the router, the satellite, the cloud platform, and back — every layer designed to keep working when something fails.
The Unimars NMS cloud is the brain. Multi-tenant, EU-hosted, horizontally scalable, and designed so that every tenant's data is provably isolated by the database itself.
The primary HTTP/WebSocket layer. Multi-tenant guards inject the tenant context on every request. RBAC enforced at controller level.
REST WebSocket OpenAPI
Row-Level Security policies enforce tenant boundaries at SQL level — even compromised app code cannot leak data across tenants. TimescaleDB hypertables for telemetry.
RLS PITR HA
Sessions, cache, and the job queue. BullMQ processes async tasks like voucher batch generation, scheduled reports, and bulk config pushes.
Cache Queue Pub/Sub
3-node cluster handling vessel telemetry. Designed for IoT scale — offline buffering, QoS levels, and store-and-forward semantics that survive long satellite outages.
QoS 1/2 TLS
High-frequency poller that talks to Edge Boxes via gRPC over WireGuard. Compiled binary, native concurrency, low memory footprint — designed for thousands of concurrent vessel connections.
gRPC Concurrent
Internal NOC dashboard. Tracks API latency, queue depth, error rates, and aggregates logs from cloud + every Edge Box. 90-day log retention, searchable from a single pane.
Metrics Logs Alerts
Every vessel ships with one Edge Box — a pre-imaged mini-PC running Debian 12 and Docker. It's the local brain that keeps the vessel running even when the cloud is unreachable.
The Edge Box watches itself. Hardware watchdog reboots if the kernel hangs. Sync-agent restarts on crash. WireGuard tunnel renegotiates if stale. Disk >90% triggers log rotation. LED on the front panel shows status at a glance — green = healthy, yellow = degraded, red = needs attention.
1 GB local buffer. Telemetry compressed with zstd (~10:1 ratio). Up to 30 days of data buffered if cloud unreachable. Five priority levels — critical events never dropped, verbose debug logs dropped first when buffer fills. Replays in priority order when cloud returns.
Two partitions on internal storage: primary (active OS) and fallback (read-only baseline). If a software update bricks the primary, the system boots from fallback automatically. Captain just needs to power-cycle.
When the Edge Box reconnects after a long outage, conflicts can arise. Last-write-wins with version vectors. Network configs → cloud wins. Voucher redemptions → edge wins. Telemetry → edge wins. Manual override available in dashboard for ambiguous cases.
Three independent paths from vessel to cloud. If the primary fails, the secondary takes over. If both fail, the optional third path uses Cloudflare's edge network — harder to block, even on hostile networks.
WireGuard over UDP. Modern, fast, ChaCha20-Poly1305 encryption. Default for 95% of vessels. Sub-5ms handshake. Persistent keepalive every 25 seconds.
SSH wrapped in TLS on port 443. Activates when UDP is blocked (some hotel/port WiFi networks). Looks identical to HTTPS to firewalls. Zero customer configuration.
Cloudflare Tunnel. Outbound-only — no inbound ports needed at all. Works on the most restricted networks. Optional add-on for vessels with extreme network constraints.
The vendor abstraction layer means Unimars NMS speaks the same language to every router brand. Issue a "create VLAN" command in the dashboard, and the platform translates it into the right API call for whatever router that vessel happens to have.
The most common vendor in commercial maritime. Cost-effective, capable, with native WireGuard and a clean REST API.
Premium tier — found on larger commercial vessels and managed service contracts. Modern programmability via NETCONF/RESTCONF/gRPC.
Security-focused operator on cruise lines, ferries, and offshore platforms. Strong native firewall and VPN feature set.
✓ = native router support | ⊕ = delivered via Edge Box
| Capability | MikroTik | Cisco IOS-XE | Fortinet |
|---|---|---|---|
| VLAN management | ✓ | ✓ | ✓ |
| Firewall rules | ✓ | ✓ | ✓ |
| Multi-WAN failover | ✓ | ✓ | ✓ |
| QoS / traffic shaping | ✓ | ✓ | ✓ |
| Voucher engine | ✓ | ⊕ | ⊕ |
| Captive portal | ✓ | ⊕ | ✓ |
| WireGuard VPN | ✓ | ⊕ | ✓ (v7.4+) |
| Streaming telemetry | Binary API | gRPC | REST |
Maritime networks aren't terrestrial. Vessels run on Starlink, VSAT, OneWeb, Iridium, and 4G/5G LTE in port. Each provider exposes data differently — we abstract them all.
Local gRPC API on dish at 192.168.100.1:9200.
Returns dish health, signal quality, obstruction data, throughput, and latency —
real-time. We poll every 30 seconds.
Most VSAT modems expose stats via SNMP v2c/v3. Standard MIBs (IF-MIB, HOST-RESOURCES-MIB) plus vendor-specific OIDs for iDirect, Comtech, and Hughes. Bulk GET for efficiency.
Cellular modems use AT commands over serial
(/dev/ttyUSB0).
Signal strength, monthly usage counters, network registration, and SIM
profile management.
Drivers feed real usage into the budget engine. At 80% of monthly cap → alert admin. At 95% → switch to secondary WAN, block streaming. At 100% → operations-only mode. Automatic, no manual intervention.
From the moment a phone joins the ship's WiFi to streaming Netflix — or being blocked from streaming Netflix — here's the full path.
Crew member's phone joins the SSID. Router's DHCP assigns an IP in the Crew VLAN (e.g. 10.10.100.0/24).
Any web request gets intercepted by Coova-Chilli (Edge Box). Phone is redirected to the captive portal page.
Branded portal in the user's preferred language. Crew enters their voucher code (printed on a card given by the captain).
Voucher is validated against FreeRADIUS, which reads from the local SQLite store. Includes bandwidth profile and time/data limit.
Phone gets internet via the satellite uplink. AdGuard filters DNS (no gambling/adult/etc.). QoS enforces bandwidth caps.
Session data buffered and synced to cloud when satellite is up. Captain sees live usage on the dashboard.
Pushing a software update to 100 vessels at once is a recipe for disaster. Unimars NMS rolls out updates in stages — with automatic rollback if failures are detected.
1 vessel for 24 hours.
Internal pilot vessel.
If issues → STOP.
10% of fleet for 48h.
Diverse vendor mix.
Auto-rollback triggers active.
50% of fleet for 72h.
Production validation.
Health metrics monitored.
100% of fleet.
Full rollout.
Ongoing monitoring.
Plus: feature flags let us enable/disable individual features per vessel without deploying new code — instant kill-switch if something goes wrong.
One vessel, one Edge Box. We support exactly three hardware models — chosen for their reliability, fanless designs, low power draw, and proven track record in industrial environments.
Best for vessels running MikroTik routers with up to 50 concurrent users.
For vessels with Cisco/Fortinet routers, 50–200 users, and harsher conditions.
For cruise ships, ferries, and large vessels with 200+ concurrent users.
Customer-procured "any mini-PC" hardware is NOT supported. This single-vendor approach lets us pre-image USB sticks, guarantee 5-minute deployment, and provide single-surface support. Custom hardware requests require additional engineering work and are quoted separately.
The Edge Box deployment is fully automated. A USB stick boots the device, installs the OS, configures the network, establishes the cloud tunnel, and the vessel appears in the dashboard — all unattended.
Vessel IT plugs in the pre-imaged USB. BIOS auto-detects boot device. LED: solid blue.
Disk auto-partitioned: primary (80%) + fallback (20%). LED: slow blue blink.
Debian 12 + Docker + signed images installed on both partitions. LED: fast blue blink.
Auto-detects network, requests DHCP, fetches enrollment token. LED: yellow.
WireGuard tunnel established. License validated. LED: green slow blink.
Vessel appears in fleet map. All services healthy. LED: solid green.
| LED Pattern | Meaning | What to do |
|---|---|---|
| 🟢 Solid Green | Online, healthy, cloud reachable | Nothing — all good |
| 🟢 Slow Blink | Connecting to cloud / tunnel handshake | Wait 30 seconds |
| 🟢 Fast Blink | Software update in progress | Don't power off |
| 🟡 Yellow | Local OK, cloud unreachable, telemetry buffering | Check satellite link |
| 🔵 Blue | Booting / installing | Wait for green |
| 🔴 Red | Sync agent failure — needs intervention | Check local web UI for diagnosis |
You can't fix what you can't see. Unimars NMS ships with the same observability stack used by Netflix, Uber, and modern SaaS — tuned for maritime networks.
Internal NOC dashboard tracking API latency, queue depth, error rates, and Edge Box health across the entire fleet. Alerts fire before customers notice problems.
Cloud + every Edge Box logs ship to centralized Loki. 90-day retention, full-text search. When a vessel reports an issue, support has all the logs already — no remote login needed.
Self-hosted feature flag system. Enable a new feature for one vessel, then 10%, then everyone. Kill-switch any feature instantly without deploying code. Reduces risk dramatically.
Updates roll out in stages with automatic rollback. The Edge Box update health dashboard shows per-vessel status, success rate, and any vessels that needed rollback.
Breach detection alerts, automated credential rotation triggers, IP block lists, and a built-in GDPR 72-hour notification workflow. Incidents handled by procedure, not panic.
Immutable, append-only log of who accessed what data when. Exportable for compliance audits. Every state change in the platform is recorded with full context.
Maritime data is sensitive — vessel positions, crew records, financial data. Multiple security layers protect every byte.
PostgreSQL Row-Level Security policies enforce tenant boundaries at the SQL layer. Even if application code has a bug, the database itself refuses to return another tenant's data.
WireGuard tunnels use ChaCha20-Poly1305. TLS fallback uses AES-256-GCM. Database at rest encrypted with AES-256. Backups encrypted with KMS-managed keys. Edge Box storage uses LUKS full-disk encryption.
Cloud users authenticate with email + password + TOTP 2FA. Edge Boxes use mutual TLS with rotating certificates. Vessels are bound to hardware-locked license keys. APIs use JWT with tenant context.
Source code stays on Unimars infrastructure. Edge Boxes only receive compiled, signed binaries. License validation runs every 24 hours. Tamper detection auto-shuts down unauthorized Edge Boxes. 30-day disconnection grace before graceful shutdown.
Unimars NMS isn't another generic dashboard. It's a maritime-first operating platform that solves the actual problems vessel networks face every day.
Offline-first architecture. Satellite-aware routing. Bandwidth budget enforcement. Vessel-specific feature flags. None of these are afterthoughts — they're foundational design decisions, baked into every layer.
Three router families supported through a single abstraction layer. Customers don't get locked into one hardware vendor. Add new vendors in Phase 2 without redesigning the platform. Vendor-neutral satellite drivers, too.
Prometheus, Grafana, Loki, feature flags, staged OTA, GDPR audit trails, automated incident response. The same operational toolkit a serious SaaS company would build — available from day one.
Hosted SaaS for fast onboarding (Plan A — 15 minutes). Self-hosted for enterprise customers with data sovereignty requirements (Plan B). One product, two delivery options — matches whatever the customer needs.