| Platform | Store identifier |
|---|---|
| Android | com.sudocod.pingcanary |
| iOS | com.sudocod.pingcanary |
Public pages (also linked in-app under Settings and on the subscription / paywall screens where applicable):
- Product: https://sudocod.com/products/ping-canary/
- Privacy: https://sudocod.com/products/ping-canary/privacy/
- Terms: https://sudocod.com/products/ping-canary/terms/
This policy describes how Ping Canary handles information on Android and iOS. Where a feature differs by platform, that is called out. Keep the live web page in sync when this repository file changes.
Summary
Ping Canary is a local-first app. It does not require an account, does not include ads or analytics SDKs, and does not send your host list, notes, or check history to SudoCod servers. Data stays on your device except for:
- Network checks you trigger or schedule (to hosts you configure)
- Optional system backups you (or your device) enable
- Subscription entitlement via Google Play Billing on Android or StoreKit / the App Store on iOS (purchase / entitlement metadata only, not your endpoint list)
Ping Canary is free to install. Access to the full app is provided through a yearly subscription (Ping Canary Pro) via the app store, with a 14-day free trial for eligible new subscribers. Price may vary by country or storefront (for example about USD $1 / year, or the local equivalent). After the trial, billing renews yearly unless you cancel in the store's subscription settings. Setting the app's download price to Free does not change the subscription price.
Purchases and payments
Payment and trial eligibility are processed by the app store (Google Play Billing on Android; Apple App Store / StoreKit on iOS), not by SudoCod directly. The app does not collect, store, or transmit payment card numbers, billing addresses, or other payment credentials.
| Platform | Payment processor | Product / plan (reference) | Privacy reference |
|---|---|---|---|
| Android | Google Play | Product ping_canary_pro · base plan domain-canary-pro-base · trial offer domain-canary-pro-14d-trial | Google Privacy Policy and Play terms for your account |
| iOS | Apple App Store | Product ID domain_canary_pro · Subscription Group ID 22296810 · Subscription Apple ID 6799585816 | Apple Privacy Policy and App Store terms for your Apple ID |
SudoCod may receive limited purchase or payout reports from Google or Apple (for example that a subscription or trial started, renewals, cancellations, and settlement details for the developer). Those reports do notinclude your app's on-device endpoint list or check history.
Subscriptions auto-renew unless cancelled. You can manage or cancel in Google Play or App Store subscription settings. Purchases on Google Play and the App Store are separate; buying on one platform does not automatically grant a license on the other unless SudoCod later offers an explicit cross-platform arrangement.
On iOS, the paywall and Settings screens include links to this Privacy Policy and to Terms of Use (product terms on sudocod.com and/or the Apple Standard EULA for licensed App Store purchases, as shown in the app). Management of the subscription uses Apple's native subscription management sheet.
Required data disclosure (store / Data safety / App Privacy)
Use this table when completing Google Play Data safety and Apple App Privacy labels. Categories reflect app functionality, not advertising or analytics.
| Category | Collected by SudoCod? | Linked to identity? | Shared? | Purpose |
|---|---|---|---|---|
| Hostnames / IP addresses you enter | No (on-device only) | No | No | App functionality: targets for reachability checks |
| Check results (up/down, latency, timestamps, error text) | No (on-device only) | No | No | App functionality: history, charts, and alerts |
| Optional labels / names | No (on-device only) | No | No | App functionality |
| App settings | No (on-device only) | No | No | App functionality |
| Device or other IDs for advertising | Not collected | n/a | n/a | n/a |
| Location | Not collected | n/a | n/a | n/a |
| Contacts, photos, microphone, camera | Not collected | n/a | n/a | n/a |
| Payment info | Not collected by the app | n/a | n/a | Purchases via Google Play or the App Store under their policies |
| Analytics / crash telemetry to SudoCod | Not collected | n/a | n/a | n/a |
| Subscription entitlement | Entitlement signals only (may be cached on device) | Via Play / Apple ID | With Google or Apple | Verify Pro access, not your endpoint list |
Ephemeral network data: When a check runs, your device contacts the host (or related network endpoints such as DNS) you configured. Those operators may see your device IP and the probe traffic. That is not a transfer of your host list to SudoCod.
Approximate / precise location: Not used.
Personal info (name, email, phone): Not collected by the app. SudoCod does not operate an in-app account for Ping Canary.
Information the app stores on your device
When you use the app, it may store locally:
- Hostnames, URLs, or IP addresses you add to monitor
- Display names you enter
- Check configuration (protocol, optional port, interval)
- Check results and history (status, latency, timestamps, failure reason) used for dashboards and charts
- Local cache of subscription entitlement from Google Play or the App Store (so Pro can work offline after a successful verify)
- Notification-related preference / state used to present local alerts
This data is stored in the app's on-device storage. It is not uploaded to SudoCod. Payment card details are never stored by the app.
| Platform | Typical storage |
|---|---|
| Android | Room database and preferences (or equivalents) |
| iOS | SwiftData (endpoints + ping logs) and UserDefaults (settings and entitlement cache) |
Network activity
To perform checks you request (or scheduled checks you enable), the app may:
- Resolve DNSfor hostnames you entered (using the device's network / DNS configuration).
- Send reachability probes to those hosts: ICMP echo, TCP connect, or HTTP(S) GET (success defined as HTTP 200 for HTTP / HTTPS), depending on the protocol you selected. The destination server (and any network operators on the path) will see traffic from your device, including your IP address, as with any normal network client.
- Read device network connectivity state so checks and UI can reflect online / offline status and so subscription status can be re-checked when you are online.
- Contact Google Play Billing (Android) or StoreKit / the App Store (iOS) to load offers, purchase, restore, or refresh entitlement, not to sync your host list.
These requests are made only for features you use. The app does not phone home to SudoCod for telemetry, crash reporting, advertising, or account sync.
Cleartext HTTP may be used for LAN / IoT diagnostics you configure (iOS allows local networking for this purpose); HTTPS is used when you enter an https:// address.
Notifications
If you grant notification permission and keep alerts enabled, the app may show local notifications that include hostnames or labels when a probe fails (including on periodic background checks and manual refresh). Evaluation uses data already stored on the device after an on-device probe.
| Platform | Notes |
|---|---|
| Android | System notifications (POST_NOTIFICATIONS on API 33+) and on-device scheduled work (WorkManager, roughly every 15 minutes when the device can run the job). |
| iOS | Local notifications (UserNotifications) and on-device background app refresh / background tasks (com.sudocod.pingcanary.refresh) so probes can run when the system allows. The app does not use remote push to deliver your host list or alerts from SudoCod servers. |
Backups and exports
- System backup / device transfer
- Android: If backup is enabled (
android:allowBackup/ data extraction rules), Android may include the app's local database and settings in system backups (for example Google Backup or OEM device transfer). Controlled by your device / Google account settings, not by SudoCod servers. - iOS:If you enable iCloud Backup or transfer/restore via Finder/iTunes (or similar), Apple's backup mechanisms may include app data according to normal iOS backup rules and your Apple ID settings. Controlled by Apple / your device settings, not by SudoCod servers. No Ping Canary iCloud sync feature is offered; if optional iCloud containers for sync are added later, that will be disclosed here before shipping.
- Android: If backup is enabled (
- Manual export/import: If the app offers export (for example JSON), you choose where to save the file. You control who can access exported files. Cross-platform import/export between Android and iOS may work when formats are compatible; that does not send files through SudoCod.
Permissions and system access
The app only requests access needed for its features. It does not request contacts, location, camera, microphone, or your photo library for core monitoring.
| Access | Android | iOS |
|---|---|---|
| Network / Internet | Yes: DNS and reachability checks; Play Billing | Yes: same monitoring purpose; App Store billing |
| Network state | Yes: detect connectivity | Yes: same purpose when used |
| Billing | Yes: Google Play Billing for Ping Canary Pro | Yes: StoreKit / App Store subscriptions |
| Notifications | Yes: optional offline alerts (runtime permission on API 33+) | Yes: optional local alerts (user permission) |
| Background / continuity | WorkManager periodic probes; may use boot continuity so schedules can continue | Background app refresh / background processing (com.sudocod.pingcanary.refresh) so local probes can run when the system allows |
| Local network (LAN / IoT) | Cleartext HTTP allowed via network security config for diagnostics you configure | Local Network permission prompt + ATS local networking for LAN/IoT cleartext diagnostics you configure |
| Tracking / ATT | N/A | Not used. Ping Canary does not track you across apps or websites for advertising. App Tracking Transparency is not required for this build. |
Children
Ping Canary is not directed at children under 13. We do not knowingly collect personal information from children through this app.
Data sharing
SudoCod does not sell your data. The app does not share your host list with third parties for advertising. Third parties that may receive limited technical information in the course of a check you initiate include:
- The hosts you choose to check (and networks on the path)
- DNS resolvers used by your device
- Your backup provider or storage destination if you enable system backup or export a file there
- Google (Android) or Apple (iOS), for platform backup and store billing, under their respective policies
Apple App Store privacy labels (iOS)
SudoCod completes Apple's privacy nutrition labels based on the shipped iOS build. For this local-first, no-analytics app:
- No tracking for advertising
- Data used for app functionality (hostnames, labels, check results, settings) stays on device and is not collected by SudoCod
- Purchase history for the subscription is handled by Apple for the App Store transaction itself
- Exact label selections in App Store Connect match this policy and the final binary
Retention and deletion
Data remains on your device until you delete hosts in the app, clear app storage / offload and delete the app, or uninstall. Uninstalling removes local app data (system or iCloud backups you already made may still exist until you delete them through your account or device backup settings). Exported files remain wherever you saved them until you delete them.
Google Play and the App Store manage subscription records under their policies; canceling or deleting the app does not by itself cancel a store subscription. Manage that in Google Play or App Store subscription settings.
Terms of Use
Product terms: https://sudocod.com/products/ping-canary/terms/. Subscription and licensed-application terms for iOS purchases are also governed by the Apple Standard EULA where applicable. Payment and trial eligibility follow App Store / Google Play rules.
Changes
We may update this policy when the app's behavior changes. The effective date at the top will be revised when we do. Continued use after an update means you accept the revised policy. The canonical web copy is kept at sudocod.com/products/ping-canary/privacy/.
Contact
Questions about this policy or the app:
- Web: https://sudocod.com
- Product: https://sudocod.com/products/ping-canary/
- Privacy (web): https://sudocod.com/products/ping-canary/privacy/
- Developer: SudoCod