Disconnected
Mode: Browser
Transport: None
Latency: --
Peer: --
Overview
Chat
Network
Map
Mesh
Review
Observe
Privacy
Identity
Peer
Transport

Identity

Join Mesh

Manual pairing
Transport configuration

Participants

0 peers
No peers connected

Contacts

0 saved
No contacts saved yet

Saved contacts can receive call invites. Click "Call" to dial.

Chat
Events
$ slm-chat send --to peer "message"

File Transfer

Drop files here or click to add

Received Files

Files are ephemeral and held in memory only. Max 100MB per file.

Peer Connections

Live connection quality per peer (RTT, jitter, packet loss, path type)

No active peer connections

Connectivity Test

Test your NAT traversal capabilities (STUN/TURN)

ICE Candidates

Your discovered network addresses

No candidates gathered yet

Member Locations

✅ Direct/LAN 🟡 NAT (STUN) 🔁 TURN relay ❓ Unknown

My Spaces

No spaces joined yet
Join existing space

Enter a 6-character invite code from a friend

Mesh Status

Checking...

Browser mode supports relay and direct P2P (WebRTC) only. Full mesh networking requires the native helper daemon.

Why Mesh Requires a Helper

Persistent connections Browser tabs close; helper runs in background
Local discovery mDNS/Bonjour requires native APIs
VPN mode Creating slm0 interface needs root/admin
Relay for others Browsers can't accept inbound connections

Install Helper

Build from Source
$ git clone gitlab.com:jucrowle/slm-crypt
$ cargo build -p slm-comms-helper
$ ./target/debug/slm-comms-helper

Works on macOS, Linux, and Windows (with Rust installed)

macOS (coming soon)
$ brew install slm-comms
Linux (coming soon)
$ curl -sSf https://slm.dev/install.sh | sh
Windows (coming soon)
> winget install slm-comms

Once running, the helper exposes http://localhost:19080/health. This page will detect it automatically.

Current Capabilities

Relay messaging
WebRTC P2P
Voice/Video
Mesh routing
VPN mode
Local discovery

Pending Approvals

High-stakes messages requiring your review before sending

No pending approvals

Conversation Summary

Auto-extracted decisions, action items, and open questions

Click "Generate Summary" to analyze conversation

Timeline

No events in this conversation

Data Management

Control your local conversation data

Data is stored locally in IndexedDB. Never sent to server.

AI Proxy

Rules-based assistant that can respond on your behalf

Proxy is disabled

Network Health Radar

Live connection quality per peer (RTT, jitter, packet loss, path type)

No active peer connections

Route Visualization

How your messages flow: You → [TURN/Direct] → Peer

No active routes

Connectivity Test

Tests STUN reflexive address discovery and TURN relay allocation

Native Helper

Install the native helper for better performance:

  • Local TURN server (keeps LAN traffic local)
  • mDNS peer discovery (auto-find devices)
  • Lower latency, higher bandwidth
  • Works offline on your network

Connection Fingerprint

Share this when troubleshooting connectivity issues

System State

{
  "mode": "browser",
  "transport": "none",
  "direct_possible": false,
  "bytes_relayed": 0,
  "peer_count": 0,
  "identity": null
}

Event Log

Ready...

Panic Mode

Instantly stop all sharing and switch to maximum privacy

Trust & Consent

Control what information you share with peers

Connection Policy

Choose your preferred connection mode

Audit Log

Local-only log of privacy-related events (never sent to server)