Netsignal

Privacy Policy

Last updated: October 16, 2026

Netsignal is a small Mac menu bar utility that shows whether your internet connection is working and which country your connection appears to come from. It has no account and stores nothing about you anywhere but your Mac.

Data We Collect

Netsignal does not collect, store, or share any personal information. The app requires no account, login, or registration of any kind.

Connectivity Checks

To tell whether the internet is actually reachable, and not just whether your Mac is joined to a network, Netsignal periodically makes a small request to Apple’s captive portal check (captive.apple.com), the same address macOS itself uses to detect Wi-Fi login pages. The request carries no identifier for you or your device.

Your IP Address and Country

To show where your connection appears to come from, Netsignal asks amirlabs.app for the public network address your request arrives from and the country our hosting provider places it in. The answer is computed from the request itself, sent straight back to the app, and never stored, logged as an event, or linked to you. The app asks again when your network changes, when you open its panel, every fifteen seconds while the panel stays open (so a VPN switching country shows up on its chart), and otherwise every ten minutes.

Connection History

To chart the last hour, day, and week, Netsignal keeps a summary of each minute on your Mac: how many checks ran and failed, the fastest, average, and slowest response, and the country your connection appeared to be in, plus the times that country changed. It contains no IP addresses. It is stored only in the app’s own folder on your Mac, is never sent anywhere, and is deleted automatically after 30 days. Deleting the app removes it.

Location Services

Netsignal does not use Location Services and never asks for your Mac’s location.

Anonymous Usage Analytics

The app sends a few anonymous usage events to PostHog, an analytics tool, so we can tell whether Netsignal is used and which parts of it matter. The events are: the app was opened (and, once, that it was opened for the first time), the panel was opened, together with which of five states the connection was in at that moment (checking, online, slow, Wi-Fi login required, or offline), the chart’s range was changed, and Launch at Login was turned on or off. Each event also carries anonymous app context: the app version, the macOS version, the Mac model, the screen size, and the app’s language.

No event contains your IP address, your country or city, your time zone, your connection’s speed, or anything from your connection history. The app asks PostHog not to look up a location from the network address the events arrive from, and it never sends an event for each connectivity check. Events are tied only to a random identifier the app creates on your Mac, never to a name, an email address, or an account. There are no advertising identifiers, no session recording, and we do not track you across other apps or websites.

Crash Reporting

The app sends crash and error reports to Sentry so we can fix what breaks. A report contains the Mac model, the macOS version, the app version, and the technical details of the crash, such as where in the code it happened. Reports are configured to exclude IP addresses and other identifying data: they carry no screenshot, no time zone or region, no name of your Mac, and no record of the app’s network requests.

Data Sharing And Retention

We do not sell your data, and we do not share it with anyone for advertising. The only third parties that receive anything from the app are the service providers named above, acting on our behalf: PostHog (anonymous analytics) and Sentry (crash reports). Their own policies are at posthog.com/privacy and sentry.io/privacy. Anonymous analytics and crash data are retained by those providers under their standard retention periods. You can stop all of it by quitting or deleting the app.

Contact

Questions about this policy? Reach us via the support page.

Changes

If this policy changes, the updated version will be posted at this URL. Continued use of the app after changes constitutes acceptance of the updated policy.