Domain Canary/Privacy

Privacy Policy: Domain Canary

Effective date: 25 August 2026

Developer: SudoCod (sudocod.com) · App: Domain Canary · Platform: Android (com.sudocod.domaincanary)

Public pages (also linked in the app under Settings and on the subscription screen):

This policy describes how Domain Canary handles information on Android.

Summary

Domain Canary is a local-first app. It does not require an account, does not include ads or analytics SDKs, and does not send your tracked domains or notes to SudoCod servers. Data stays on your device except for the network checks you trigger and optional backups you (or your device) enable.

Domain Canary is offered as a yearly subscription through Google Play, with a 14-day free trial for eligible new subscribers. Price may vary by country or storefront. After the trial, billing renews yearly unless you cancel in Google Play subscription settings.

Purchases and payments

Payment and trial eligibility are processed by Google Play Billing, not by SudoCod directly. The app does not collect, store, or transmit payment card numbers, billing addresses, or other payment credentials.

Payment processorPrivacy reference
Google PlayGoogle Privacy Policy and Play terms for your account

SudoCod may receive limited purchase or payout reports from Google (for example that a subscription or trial started, renewals, cancellations, and settlement details for the developer). Those reports do not include your app’s on-device domain list or notes.

Subscriptions auto-renew unless cancelled. You can manage or cancel in Google Play subscription settings.

Information the app stores on your device

When you use the app, it may store locally:

  • Hostnames you add to track
  • Optional notes you enter
  • SSL certificate details obtained from checks (for example expiry, issuer, subject, SANs, TLS version)
  • Domain registration details obtained via RDAP (for example registrar, expiry, status, name servers)
  • Reminder settings (whether notifications are on, and day thresholds)
  • Local notification history used to avoid duplicate reminders
  • A cached flag of whether Google Play last reported an active subscription, so the app can keep working offline after a successful entitlement check. This offline entitlement cache is stored separately from general settings and is excluded from Android Auto Backup / device transfer, so restoring a backup does not restore Pro access without a fresh Play entitlement check

This data is stored in the app’s on-device storage (database and preferences). It is not uploaded to SudoCod. Payment card details are never stored by the app.

Network activity

To perform checks you request (or refresh), the app may:

  1. Open a TLS connection to the hostname you entered (typically port 443) to read the server’s certificate metadata (for example expiry, issuer, subject, SANs, TLS version). That host’s server will see a connection from your device (including your IP address), as with any normal HTTPS client. The app’s purpose is expiry tracking, not browser-grade trust enforcement: if the device cannot fully validate the certificate chain, the app may still complete the handshake enough to read the leaf certificate’s expiry and show a local chain warning. Hostname verification always runs, so a certificate that does not match the hostname you entered is not used for expiry. Certificate contents stay on your device.
  2. Query public RDAP endpoints (for example services such as rdap.org or registry RDAP servers) with the domain name you entered, to look up public registration/expiry information.
  3. Contact Google Play Billing to load subscription offers, complete purchases, restore purchases, and verify entitlement. Those systems are operated by Google under their policies, not by SudoCod.

The app may also read device network connectivity state so it can re-check subscription status when you are online and rely on the local entitlement cache when you are offline.

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.

Notifications

If you grant notification permission and keep reminders enabled, the app schedules local checks on your device (for example via WorkManager) and may show notifications that include hostnames approaching expiry (or already expired). Reminder timing uses local calendar days derived from stored expiry dates on the device. Reminder evaluation uses data already stored on the device (after optional on-device refresh of SSL/RDAP).

Backups and exports

  • System backup / device transfer: If backup is enabled, Android may include the app’s local database and reminder settings in system backups (for example Google Backup or OEM device transfer). The offline subscription entitlement cache is excluded from Auto Backup and device transfer; after restore, Pro access depends on a live Google Play entitlement check when you are online. Controlled by your device / Google account settings, not by SudoCod servers.
  • Manual export/import: You can export a backup file (for example JSON) and choose where to save it (Files, cloud storage apps, etc.). The export includes tracked domains and reminder settings; it does not include Play entitlement. Import merges or replaces local data from a file you select. You control who can access exported files. Export 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 expiry tracking.

AccessPurpose
Network / InternetTLS checks, RDAP, and Play Billing
Network stateDetect connectivity for subscription re-checks
BillingGoogle Play Billing for Domain Canary Pro
NotificationsOptional expiry reminders
Background / boot continuitye.g. RECEIVE_BOOT_COMPLETED so reminders can continue after reboot

The app draws edge-to-edge (behind system bars and display cutouts) using Android window insets. That is a layout/display behavior only; it does not collect additional personal data or require extra permissions.

Children

Domain 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 tracked list with third parties for advertising. Third parties that may receive limited technical information in the course of a check you initiate include:

  • The servers for hostnames you choose to check (TLS handshake)
  • Public RDAP operators when a domain lookup runs
  • Your backup provider or storage destination if you enable system backup or export a file there
  • Google, for store purchase and (if enabled) platform backup, under Google’s privacy policy

Retention and deletion

Data remains on your device until you delete domains in the app, clear app storage, or uninstall. Uninstalling removes local app data (system 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.

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.

Contact

Questions about this policy or the app: