How it works
Your network stays yours
A small collector runs inside your network. It talks to your routers with a read-only account and sends the results out to WISPMap over HTTPS. Nothing connects into your network, and router passwords never leave it.
Your routers
MikroTik RouterOS and anything else with an IP address.
and ping
The collector
Docker on a small Linux box or Raspberry Pi, inside your network. Holds the router passwords.
WISPMap
Hosted in South Africa. Works out status, root cause and alerts, and keeps the history.
You and your team
The map, incidents and alerts, on a computer or a phone.
Shaded: inside your network.
The collector
Outbound only
It opens no ports and needs no port forwarding or VPN. It only connects to your devices and to WISPMap.
Read-only
It uses a RouterOS user with the read,api,test policies and nothing more, so it can't change a thing.
Passwords stay home
The router user's password lives in the collector's own settings file and is never sent to WISPMap.
One command to install
The install script is short and public: read it before you run it. It only sets up Docker files in one folder.
Its own key
Each collector has its own token, stored only as a hash on our side. You can replace it any time from the admin pages.
Survives outages
If it can't reach WISPMap, it keeps measuring and buffers the results on disk, then sends them when the link is back.
Open source
Apache 2.0, on GitHub. You can read every line, or build the image yourself.
What it reads
| Every | What | From |
|---|---|---|
| 30 seconds | Ping: latency and loss | every device |
| 60 seconds | Uptime, CPU, memory, RouterOS version | /system/resource |
| 60 seconds | Interfaces: state, traffic, errors | /interface |
| 60 seconds | OSPF interfaces, neighbours and the active routes on each link | /routing/ospf, /ip/route |
| 60 seconds | BGP sessions and the routes each peer sends (counted on the router), and the default route | /routing/bgp, /ip/route |
| 60 seconds | Voltage, temperatures, power supplies, fans | /system/health |
| 60 seconds | PoE output per port | /interface/ethernet/poe |
| 60 seconds | Wireless: radios, and each client's signal, SNR, CCQ, rates and connected time | /interface/wireless, /interface/wifi, /interface/w60g |
| 5 minutes | Subscribers online: counts only, no names or addresses | /ppp/active, /ip/hotspot/active, /ip/dhcp-server/lease |
| 5 minutes | Security settings, for the security check: services, a default admin user, update channel. No user names or passwords | /ip/service, /user, /system/package/update |
| 15 minutes | Neighbours, to suggest links | /ip/neighbor |
On our side
Hosted in South Africa
WISPMap runs in a data centre in Gauteng. Your network data stays in the country.
Kept apart
Every organisation's data is separated in the application, and each page is tested to show only your own.
Encrypted in transit
All traffic, from your browser and from the collector, goes over HTTPS.
Backed up nightly
The database is backed up every night, and the backups are checked.
Sign-in protection
Two-factor sign-in, limits on repeated attempts, and an audit log of sign-ins and changes.
POPIA
What we collect, why and for how long is set out in our privacy policy.
The details
Services we use
Hosting: sive.host, Samrand data centre, Gauteng. Email: Gigahost. Map images: OpenFreeMap; they see your IP address and which area you're viewing, never your network data.
How long we keep data
Detailed readings for 7 days, 5-minute summaries for 90 days, hourly summaries for 2 years. Close your account and your organisation's data is deleted within 30 days. The privacy policy has the rest.
Found a security problem?
Please email wispmap@gigahost.co.za before telling anyone else. We read every report, fix what's real, and tell you what we found. Our security.txt says the same.
This page was last updated on 7 November 2026.
See it on a real network
The demo is a simulated WISP with 20 towers, running live. Outages, failovers and power cuts happen while you watch.