Nodus
Mobile

Permissions

Every permission the mobile app requests, and why.

Android

PermissionWhy
INTERNETRelay HTTP/WebSocket and local node traffic
ACCESS_NETWORK_STATEConnectivity checks (offline recovery, activity fallback)
ACCESS_WIFI_STATEWi-Fi state for LAN discovery
CHANGE_WIFI_MULTICAST_STATEmDNS multicast on the local network
NEARBY_WIFI_DEVICESAndroid 13+ device/Wi-Fi discovery
POST_NOTIFICATIONSConflict, device-offline, and sync-complete push
READ_EXTERNAL_STORAGE / WRITE_EXTERNAL_STORAGEDownload/file access on API ≤ 32 only
SYSTEM_ALERT_WINDOW, VIBRATEDebug/dev-client only

iOS

KeyWhy
NSLocalNetworkUsageDescriptionDiscover and pair Storage Nodes on the LAN
NSBonjourServices: ["_nodus._tcp"]mDNS browse
NSAppTransportSecurity.NSAllowsLocalNetworkingCleartext to LAN nodes

Cleartext policy

Remote hosts require TLS. Cleartext HTTP for the Relay is allowed only for loopback and the Android emulator alias 10.0.2.2, enforced in the app (src/relay-url.ts validates the URL entered on the server screen). Separately, the OS layer allows cleartext to RFC1918 LAN hosts for Storage Node traffic via a generated network_security_config.xml.

Debug builds temporarily allow all cleartext.

On this page