Privacy Policy for NetCheck
Last updated: October 9, 2026
Most of NetCheck collects nothing. It runs on your Mac, checks whether your internet is working, and keeps what it finds on your own machine.
One feature is different, and this policy says so plainly: Heartbeat Relay — an optional, paid feature that alerts your iPhone or iPad when your Mac loses internet — needs an account and a server, because an offline Mac cannot send its own alert. If you never turn it on, nothing in the "Heartbeat Relay" section below applies to you, and NetCheck holds no account for you at all.
Network Requests
NetCheck periodically sends an HTTP GET request to apple.com and an HTTP HEAD request to connectivitycheck.gstatic.com solely to verify whether your device has active internet access. These requests contain no personal identifiers, no user data, and no device information beyond what a standard HTTP request includes. No response data is stored or seen by the developer.
When a connection is detected, the app makes a one-time request to ipinfo.io (with ipwho.is as a fallback) to display your ISP or Wi-Fi network name in the popover. This request contains no personal identifiers. The developer does not receive, store, or process any data from this request.
If you add Custom Probe endpoints (a NetCheck Pro feature), the app will periodically send HTTP HEAD requests to those URLs as configured by you. These requests are made directly from your device and are not routed through or seen by the developer.
Outage Alerts (Optional, NetCheck Pro)
Outage Alerts is an optional, opt-in feature (off by default, part of NetCheck Pro) that sends a push notification when your Mac's internet connection is restored after an outage, including how long it was offline. When you turn it on and choose a delivery method, NetCheck sends a short message — just the event type and how long you were offline, e.g. "Back online — down 12 minutes (2:34 PM–2:46 PM)" — to the one destination you've configured:
- ntfy.sh (default) — a free, third-party push notification service. NetCheck generates a random, private topic name for you; the message is published to that topic.
- Pushover — a third-party push notification service. Requires your own Pushover account and User Key, which you provide.
- Custom Webhook — a URL you provide yourself (your own server or an automation tool). NetCheck sends the message directly there.
This message never includes your name, email, device identifiers, location, or any other personal information — only the outage event and its duration. ntfy.sh and Pushover are operated by third parties, not by NetCheck's developer; once a message reaches them, their own privacy policies govern how they handle it. If you use a Custom Webhook, the message goes directly to the URL you configured — the developer never sees or stores it.
Your chosen delivery method's credentials (the ntfy topic name, your Pushover User Key, or your webhook URL) are stored securely in your Mac's Keychain, not in the app's regular preferences, and are only ever sent to the one destination you've configured. You can turn Outage Alerts off and permanently clear all saved configuration at any time from the app's settings.
Heartbeat Relay (Optional, subscription)
Heartbeat Relay is off until you set it up, and setting it up takes a subscription, an account, and a second app — NetCheck Relay, free, for iPhone and iPad.
Why it needs a server. The other alert methods are sent BY your Mac, which means they cannot be sent when your Mac has no internet, is asleep, or is switched off. Heartbeat Relay works the other way round: your Mac checks in with our server on a schedule, and if the check-ins stop, the SERVER tells your phone. That reversal is the whole feature, and it is why an account and stored data exist.
What you sign in with. Sign in with Apple, on both the Mac and the phone. We ask Apple for no name and no email address — only an identifier for your account — and we never see your Apple password.
What is stored on the server. Only what is needed to notice that a Mac stopped reporting and to reach the right phone:
- An account identifier, and a token from Apple that lets us disconnect your Apple sign-in if you delete your account.
- For each paired Mac: an identifier for that Mac, its name as it appears on the Mac (e.g. "Tulon's MacBook Pro"), the time of its last check-in, its current status, how often it checks in, and counters that stop alerts repeating.
- For each paired phone or iPad: its push token (the address Apple uses to deliver a notification), the device model it reported when pairing (e.g. "iPhone 15 Pro"), a name for it if you set one, and when it was paired.
- Your subscription's Apple transaction identifier, product identifier and expiry date, so the feature can be switched on for the right account.
- Pairing codes, which are short-lived and deleted once used or expired.
What is NOT stored on the server. No browsing history, no network history, no speed test results, no ISP or Wi-Fi name, no location, no contacts, no advertising identifiers, and no record of what your internet was doing beyond whether your Mac checked in.
What an alert contains. The name of the Mac, whether it dropped or came back, and how long it was out. Alerts are delivered through Apple's Push Notification service and Firebase Cloud Messaging.
Who processes it. The server runs on Google Firebase (Authentication, Realtime Database, Cloud Functions and Cloud Messaging) in the United States, and Apple delivers the notifications. They process this data on our behalf; nothing is sold, shared for advertising, or used for any purpose other than delivering your alerts.
How long it is kept. For as long as the pairing exists. If a paired Mac does not check in for 30 days we remove the pairing by itself and delete what was stored for it, after warning your phone at 25 days. You can unpair at any time from either end, which deletes that pairing immediately.
Deleting everything. Account → Delete Account, in either app. This deletes your account, every pairing, every Mac and phone record, and your stored subscription identifiers, and disconnects Sign in with Apple. It cannot be undone, and it does not cancel your subscription — that is done in the App Store (see the Terms).
Protecting the service. The server keeps a technical log of the requests made by your account: account, Mac and phone identifiers, times, and what happened. It never contains anything from your Mac beyond what is listed above, and it is kept for up to 30 days. We may use that log and the records above to detect and investigate misuse of Heartbeat Relay and to enforce our Terms of Service, which can include suspending or closing an account. They are used for nothing else, and are not shared or sold.
On the phone. The NetCheck Relay app keeps a local list of the alerts it has been shown and the last status it read for each Mac, on the device only. Clearing them in the app deletes them; signing out deletes them too.
No Analytics or Tracking
NetCheck and NetCheck Relay contain no analytics, crash reporting, advertising SDKs, or third-party tracking of any kind. Nothing you do in either app is profiled or measured.
Accounts
NetCheck requires no account for anything except Heartbeat Relay. Network monitoring, history, custom probes, speed tests and the other Outage Alert methods all work without signing in, and always will.
Local Storage
The data stored by the app on your Mac is your own preferences (check interval, notification toggle, launch at login toggle), your Outage Alerts delivery credentials (stored in your Mac's Keychain, not plain preferences — see above), and, if you use NetCheck Pro, your network connection history and any custom probe URLs you have added. All of this is saved exclusively on your device using macOS standard preferences, Keychain, and local storage. None of it leaves your device except: an exported file if you choose to use the CSV Export feature (goes only to the location you select), Outage Alerts notifications if you've turned that feature on, and the check-ins described under Heartbeat Relay if you have set that up. You can delete your history at any time from the Network History window, and disable and clear Outage Alerts at any time from its settings screen.
Children's Privacy
NetCheck is not directed at children, and we do not knowingly collect information from children under the age of 13.
Changes to This Policy
This Privacy Policy may be updated from time to time. Any changes will be posted on this page with an updated date.
Contact
If you have any questions about this Privacy Policy, or want to ask what is stored for your account, contact: tulon@metulon.com (or devtulon@gmail.com).