Documentation

Feature guides, architecture, and security overview.

Mesh Networking

TAK Can devices form an ad-hoc mesh network for CoT exchange without any server or internet connectivity. Critical for field operations with no cell coverage, military exercises, SAR in remote areas, and disaster response.

How It Works

  1. Enable mesh in Settings → Mesh Network
  2. Devices auto-discover nearby TAK Can peers via WiFi and Bluetooth
  3. All CoT messages (position, chat, emergency) broadcast to mesh peers
  4. Mesh peers appear as contacts on the map — same as server contacts

Multi-Hop Relay

Messages forward through intermediate devices with TTL-based loop prevention. If Device A can't reach Device C directly, Device B relays the message. Configurable max hops (1–5).

Device A ──30m──► Device B ──30m──► Device C
   (A sees C via B's relay, ~60m effective range)
      

Team Filter

When enabled (default), devices only connect to peers on the same team. Prevents unintentional SA leakage to other units operating in the same area.

BLE Background Mesh

MultipeerConnectivity suspends when the app is backgrounded. BLE mesh (CoreBluetooth) maintains connectivity when the screen is locked. Messages are fragmented into 480-byte chunks for BLE MTU and reassembled on receipt.

PSK Encryption

Pre-shared key distributed via QR code at mission start. AES-GCM encryption on all BLE mesh data. HMAC-SHA256 challenge/response authentication. Key stored in Secure Enclave, rotated per mission.

Bridge Mode

One device with both mesh and server connectivity acts as a bridge, giving the entire mesh full server access.

Phone A (no internet) ──mesh──► Phone B (internet) ──TLS──► TAK Server
                       ◄──mesh──              ◄──TLS──
      

Data Feeds

External situational awareness data rendered as CoT markers on the map. Accessible from Settings → Data Feeds or the map dropdown menu.

Available Feeds

FeedSourceData
511 Ontario511on.caRoad incidents, closures, construction
511 Quebectransports.gouv.qc.caRoad incidents
511 British ColumbiaDriveBC Open511Road incidents
511 Alberta511.alberta.caRoad incidents
Alert ReadyNAAD (Pelmorex)Amber alerts, severe weather, wildfires, evacuations, earthquake EEW
Active WildfiresNRCAN GeoServerCanadian wildfire hotspots

Filtering

Sensors & Vitals

Device sensors broadcast as CoT extensions in every SA message.

SensorDataSource
BarometerPressure (hPa), relative altitudeCMAltimeter
MagnetometerField strength (µT), XYZCMMotionManager
ActivityStationary/walking/running/vehicleCMMotionActivityManager
Heart RateBPMApple Watch HealthKit
SpO2Blood oxygen %Apple Watch HealthKit
StepsToday's countApple Watch HealthKit
CaloriesActive kcal todayApple Watch HealthKit

Auto-switch CoT type: when driving is detected, your icon changes to vehicle on everyone's map. Returns to dismounted when on foot.

Self-status panel: tap the compact overlay (bottom-right) to expand your own vitals and sensor readings.

Security

LayerProtection
Server connectionsTLS 1.2+ with client certificate mutual authentication
MultipeerConnectivity meshDTLS encryption (Apple framework, automatic)
BLE meshAES-GCM encryption with pre-shared key (PSK via QR)
Data at restCore Data SQLite + log files encrypted via iOS file protection
CredentialsiOS Keychain with ThisDeviceOnly — never synced to iCloud
Mesh bridgeOnly server-authenticated (onboarded) peers' CoT forwarded
BLE advertisingGeneric device name — callsign not exposed over the air
EmergencyRate-limited, guaranteed delivery via WCSession transferUserInfo

Apple Watch Companion

The Watch acts as a sensor and quick-input terminal. All network operations flow through the paired iPhone via WCSession — the Watch never opens a direct TAK server connection.

Video Streaming

Broadcasting

Stream your device camera to an RTMP server. The playback URL is announced to all connected TAK servers — other TAK clients (ATAK, WinTAK, TAK Can) can tune in automatically.

Receiving

When another TAK client broadcasts a video feed, a notification appears on your map. Tap to open the video player.

Tap the globe button to enter a destination in any format:

Export & Share

Accessible from the map dropdown menu. All exports open the iOS share sheet (AirDrop, Files, email, etc.).

TAK Server Connectivity

VPN Access (Remote Connections)

If your TAK server is behind a firewall, use a separate VPN client to connect remotely. TAK Can works transparently over any system VPN — no built-in VPN client needed.

  1. Download the .ovpn file from your TAK server admin panel
  2. Install OpenVPN Connect (free) or WireGuard from the App Store
  3. Import the config and connect the VPN
  4. Open TAK Can — connects through the VPN tunnel automatically

Situational Awareness Map