Net-Diagnotor Privacy Policy
Effective: 2026-10-02 · Policy Version: v14
The official page for this policy: https://api-net-diagnotor.zinben.net/legal/privacy-policy.en.html. The company name and the link to the company-wide Privacy Policy are in Company-Level Legal Documents at the bottom of this page. This policy is the specific application of the company-wide policy to Net-Diagnotor. Where they do not conflict, this policy applies first. Matters not covered here follow the company-wide policy.
When this policy changes in a material way, the app shows a new-version notice in Settings → Privacy and asks you to confirm again.
Contact: contact@zinben.com
1. Who We Are
Net-Diagnotor (the "App", "we") is a network-diagnostic and discovery application developed and operated by Zinben Technologies Co., Ltd. (臻本(广州)信息科技有限公司, "Zinben"). Our data-protection contact is contact@zinben.com.
2. Data We Collect — Why and How Long
| Category | Examples | Source | Purpose | GDPR Lawful Basis | Retention |
|---|---|---|---|---|---|
| Device IDs | IDFA / Android Ad ID (after consent), App Instance ID, Crashlytics Installation UUID (Android only) | OS / SDK | Ad serving, analytics, crash attribution | Consent (Art.6(1)(a)) / Legitimate interest (Art.6(1)(f)) | While consent is granted, max 60 days |
| Device info | Model, OS version, screen, language, carrier, network type | OS | Diagnostics, product improvement, ad serving | Legitimate interest | 90 days |
| Ad anti-fraud & attribution signals | OAID / Android ID (where available to the OS / SDK), accelerometer / gyroscope / gravity / magnetometer sensor data (Android official/Huawei Build 860+ does not collect installed-app / uninstall lists) | Ad SDKs (such as Tencent GDT on China builds; Pangle GroMore and Ocean Engine fusion attribution on the Android Douyin / Ocean Engine build only) | Ad serving, anti-fraud, ad measurement, attribution | Consent (Art.6(1)(a)) / Legitimate interest (Art.6(1)(f)) | While consent is granted, max 60 days |
| Paid-acquisition ad touches | Hashed advertising identifiers, ad ids, and request ids | The ad platform, when an ad is shown, clicked, or played | Measuring paid acquisition | Legitimate interest (Art.6(1)(f)) | Rows that include a device digest: no more than 60 days. Hourly counts without device identifiers: no more than 400 days |
| Coarse location | Country / region resolved server-side via GeoLite2, local IP-lookup logic, and fallback third-party services (Baidu IP / ip-api.com; only the public IP is transmitted) | Server / 3rd-party IP lookup services | Discovery map regionalization, regional ads | Legitimate interest | Not stored as raw IP — only de-identified IP prefix (IPv4 last octet zeroed; IPv6 truncated to /48) is persisted in probe records |
| Discovery probe records | Timestamp, carrier, network type, signal strength, connectivity result, de-identified IP prefix | App | Network reachability heatmap, carrier-quality stats, community sharing | Legitimate interest / Consent | Kept on our servers for up to 90 days, and shown only as aggregates |
| Usage & ad events | Screen views, button taps, ad impressions / clicks; ad-placement analytics additionally store the server-observed client public IP and GeoLite2-derived country/region codes (no account / device ID) | App + Server | Funnel analysis, placement measurement, regional CTR comparison, anti-abuse | Consent / Legitimate interest | Raw ad events ≤ 90 days; daily aggregates keep distinct-IP counts and country/region rollups (not full IP lists) |
| Crash & performance | Stack traces, custom logs, request latency, frame rate | SDK | Stability and performance optimization | Legitimate interest | 90 days |
| Purchase data | Transaction ID / Original Transaction ID / Purchase Token / Subscription ID / OpenDev order ID | StoreKit / Google Play / HarmonyOS IAPKit / Huawei IAP + OpenDev (Android Huawei APK) / OpenDev Web Payment (official / Desktop builds) | Subscription validation, tip fulfillment, refund handling, tax compliance | Contract (Art.6(1)(b)) / Legal obligation (Art.6(1)(c)) | 5 years (tax retention) |
| OpenDev account ID | Account identifier and sign-in method (third-party sign-in / phone / email; no passwords) | OpenDev Accounts (forwarded by our servers) | Cross-device membership sync, account binding | Contract | While the account is active; deleted after you unbind, when you ask us to delete it |
| Rewarded Basic membership | Device identifier; account identifier when signed in; a record that the rewarded ad was completed | Our servers and the ad service (portal / some app channels) | Short-term Basic days after a rewarded video | Consent / Contract | For the reward period; related records ≤ 90 days |
| Discovery short-video interactions | Device identifier; account identifier after you sign in (sign-in is verified and cannot be faked with a link) | The in-app Discovery page | Like / favorite / follow authors; anonymous view stats | Legitimate interest / Contract | Raw records ≤ 90 days; after sign-in, activity can sync across devices you have linked; signing out shows this device only and does not delete history |
| Startup open count | Device identifier, app version, channel (such as iOS, Huawei, or the portal). The server resolves a country and region from that connection's public IP and stores that public IP with the country and region codes. The stored public IP is only for correcting that region later. The admin region table does not list the raw IP | App cold start, or once per portal browser tab | Count how many devices open the product, and which country or region those opens come from | Consent (the in-app Usage switch; the portal relies on this policy) | At most 90 days |
| Portal speed test (M-Lab) | Speed-test session metrics (including client public IP address, up/down/latency; no account) | Submitted to Measurement Lab (M-Lab) NDT7 after explicit user consent | M-Lab public network-measurement dataset (IP and related fields may be publicly retained long-term) | Consent | Retained by M-Lab under its policy (see measurementlab.net/privacy); we do not build separate user profiles |
| Portal monitor check | Checks run in the browser; check results are not uploaded (except when you manually copy the result) | Portal / in-app page | Network environment self-check (DNS, proxy, clock drift, etc.) | Legitimate interest / user-initiated | Not stored; answers are returned only at the moment you run the check |
| Wi-Fi diagnostics | SSID and BSSID of the currently connected Wi-Fi | System Wi-Fi interface, read only while you use Wi-Fi diagnostics and the system allows it (including the Android Huawei build). Not read if you deny the related permission | Show the current network on the device | Consent / Legitimate interest | Not uploaded by default; shown on device only |
| Room Privacy Check | On-device LAN / Wi-Fi / BLE / camera guidance / magnetic clues; SSID/BSSID/MAC/BLE raw values and room frames not uploaded by default | App task desk (Android official builds; Basic+) | Aggregate multi-signal clues worth a manual review | Consent / Contract | Reports stored on-device only (recent ~20); except when you choose to share a redacted summary |
| User-submitted content | Text and device model in feedback / Discovery / forum | User | Customer support, community ops | Consent / Contract | Until user deletion, lawful deletion request, or service sunset |
We do not collect: precise GPS, contacts, photo library (unless the user explicitly attaches to a feedback ticket), biometrics, or health data.
Note on Discovery probe records: to power Wi-Fi / cellular signal heatmaps and community sharing, probe records are stored on our servers. We never store the full IP — only a de-identified prefix (IPv4 last octet zeroed; IPv6 truncated to /48), used for carrier- and region-level summaries. What we show publicly is the summary, not a single device's record.
3. Sharing With Third Parties
We share certain data with the SDK / service providers below. The complete list (versions, fields, provider privacy links) is maintained at: https://api-net-diagnotor.zinben.net/legal/sdk-list.html
Categories:
- Advertising & monetization: Google AdMob (with UMP consent; configured with
maxAdContentRating=G+tagForChildDirectedTreatment=NO, consistent with our current Google Play / App Store age ratings), Tencent GDT (China channels only; may collect OAID / Android ID, device information, and accelerometer / gyroscope / gravity / magnetometer sensor data for ad serving, anti-fraud and measurement; Android official/Huawei Build 860+ does not collect installed-app / uninstall lists), Pangle GroMore (Android Douyin / Ocean Engine build only, mediation SDK 7.8.1.4; initialized only after you respond to this privacy policy. It may collect OAID, Android ID where available to the OS or SDK, device and network information, and ad events for splash, banner, feed, and rewarded video. That build does not collect the installed-app list, does not listen for app install or uninstall, and does not request phone-state or precise-location permission. Non-personalized ads turn off personalized recommendations), Ocean Engine fusion attribution SDK 2.0.4 (Android Douyin / Ocean Engine build only; initialized only after you accept this privacy policy, then sends one launch event for ad attribution. It collects OAID, android_id, and device and network information. It does not collect the installed-app list and does not request phone-state or precise-location permission. When a Douyin acquisition ad is shown, clicked, or played, the ad platform sends the ad and device digest to us. Records that include a device digest are kept for no more than 60 days, and hourly counts without device identifiers are kept for no more than 400 days), Huawei Ads Kit (Publisher Service, HarmonyOS NEXT Ark client only); portal Web (netdiagnotor.com) shows web ads by region: Tencent GDT H5 (CN mobile Web), Baidu Union (CN desktop Web), Google AdSense (overseas Web; separate from in-app AdMob IDs; CN mobile Web rewarded video may grant short-term Basic membership; see third-party SDK disclosure) - Analytics & crash: Firebase Analytics / Performance; Crashlytics (Android only, not integrated on iOS)
- Payments: Apple in-app purchase / Google Play in-app purchase + OpenDev orders (Android Google Play apps; see §7.2) / HarmonyOS IAPKit (HarmonyOS NEXT AppGallery build) / Huawei in-app purchase + OpenDev orders (Android Huawei app; a one-time purchase, not the OpenDev WeChat checkout page; see §7.3) / OpenDev payment page (official Android app and desktop; WeChat / Stripe and similar methods are handled by OpenDev and the payment provider — we do not store card numbers)
- Accounts: OpenDev Accounts (optional sign-in on a page we provide, used to sync membership across devices)
- Maps & geolocation: AMap / Mapbox / MaxMind GeoLite2 / Baidu IP / ip-api.com (public IP-lookup service, only the raw IP is sent)
- Portal speed test: after explicit consent on the portal speed-test page, metrics (including IP address) are sent via M-Lab NDT7 to Measurement Lab's public dataset, which may be publicly retained long-term for research — see https://www.measurementlab.net/privacy/
- Portal monitor check: when you run Monitor check on the portal or inside the app, checks run in the browser and we do not upload or store check results. Some modules may connect directly from your browser to public DNS or IP lookup services (similar to the portal DNS tool). DNSPod (doh.pub) cannot be queried directly by the browser, so that lookup is forwarded by our servers; we return the result only at that moment and do not store it. Other checks of the same kind also return a live result and are not stored.
- Room Privacy Check: Basic members and above may use Room Privacy Check in the App task desk to aggregate multi-signal clues worth a manual review in the current authorized network and space (see §7.6). Free users see a feature preview and upgrade entry only — no real scan, system permission prompts, or on-device report storage.
We do not:
- Sell your personal information (CCPA
Do Not Sell My Personal Information); - Use ads / analytics data for legal, credit, hiring, or other automated decision-making;
- Transmit location, device IDs, installed-app lists, or sensor data to advertising / analytics SDKs before you complete the basic privacy-policy choice.
4. Your Choices and Rights
4.1 Consent Management
- First launch: a consent screen offers two choices:
- "Agree and Continue" — we deliver personalized ads based on your interests and collect Analytics / Crashlytics data to improve the product;
- "Decline (show non-personalized ads only)" — we still show non-personalized ads (not based on your interests or behavior) but will not upload Analytics / Crashlytics data or a startup open count. To remove ads entirely, upgrade to Pro.
- Turning off Usage & Crash Data also stops startup open counts from the app. The portal has no such switch; see the table in Section 2 and Section 6.
- Any time: in Settings → Privacy you can:
- Toggle Personalized Ads off (still shows ads, no longer interest-based);
- Toggle Usage & Crash Data off;
- Revoke Consent (immediately stops all SDK data collection and re-shows first-launch consent);
- Reopen the Privacy Options form (Google UMP) on overseas channels.
- After choosing "Decline", you may upgrade to the full experience (personalized ads / Analytics) at any time by toggling the relevant switch in Settings → Privacy; we will re-confirm your consent before applying the change.
- iOS system tracking toggle: Settings → Privacy & Security → Tracking → Net-Diagnotor.
4.2 GDPR / CCPA / China PIPL Data Subject Rights
You have the right to access, correct, delete, port, restrict, or object — and, under CCPA, to opt out of "sale".
- Withdraw consent any time in the App via Settings → Privacy;
- Self-serve device-bound historical data deletion: tap Settings → Privacy → Delete My Data
and confirm twice. We then delete, for this device, network probe records, follow lists,
feedback, Discovery short-video activity on this device, startup open counts, and the link
between this device and the account.
- Scope: only those categories for this device. This does not delete the same account's history on other linked devices;
- Rate limit: at most once per hour per device, so a tap is not repeated by mistake;
- Out of scope: subscription and tax records (kept for the 5-year statutory tax period; cancel in the App Store, Google Play, or your Huawei account). Access logs are kept for 90 days, with IP addresses and device identifiers minimized;
- Backups: data in active use is deleted immediately. Offline backups are cleared within 30 days. Data you deleted does not come back if a backup is restored.
- Access / export / correction / cross-device deletion or other rights requests by
emailing contact@zinben.com with subject
[Privacy] DSR Requestand your device model + approximate first install date.
We respond within 30 days to email requests. Self-serve deletion is effective immediately. Step-by-step guide: https://api-net-diagnotor.zinben.net/legal/revoke-consent.html
4.3 Children
Our content ratings on the App Store, Google Play, Huawei AppGallery, and other stores are
4+ / all ages (as shown on each store listing). That reflects content suitability for a
general audience. We do not market the App as directed at children. We configure AdMob
with tagForChildDirectedTreatment=NO and maxAdContentRating=G, consistent with this approach.
Age requirements for personal-information processing:
- We do not knowingly collect personal information from children under 14 in mainland China.
- Users under 13 (US COPPA) or 16 (EEA/UK and some other regions, as applicable local law requires) should use the App only with guardian consent and supervision.
- If you are a guardian and believe we have inadvertently collected a child's information, contact contact@zinben.com to request deletion.
5. Security
- All network traffic uses HTTPS / TLS 1.2+.
- No plain-text sensitive data persisted on device.
- Server retains only required diagnostic / analytics data and purges per the retention schedule in §2. Probe-record IPs are de-identified before persistence; ad-placement analytics retain the full server-observed request IP for about 90 days for measurement and anti-abuse (see §2 table and international-transfer notes).
- Internal access follows least-privilege; all access is audited.
6. International Transfers
- AdMob / Firebase / Crashlytics data is processed by Google in its global data centers (including the EU and the US) under EU Standard Contractual Clauses and the EU-US Data Privacy Framework.
- GDT / Pangle GroMore / Huawei IAP / Huawei Ads Kit / HarmonyOS IAPKit data is processed by Tencent / Beijing Ocean Engine Network Technology Co., Ltd. / Huawei within China.
- Net-Diagnotor's own API and business database run on Tencent Cloud in Hong Kong, China. If you access the product from mainland China, relevant server-side data may be transferred cross-border to Hong Kong for processing and storage.
- If you are a mainland China user, in addition to this notice we assess the necessity of cross-border transfer under applicable law and, where required, follow procedural obligations such as personal-information protection impact assessments and standard contracts (as required by regulators and our compliance program).
- The public portal (
netdiagnotor.com) is static hosting only. Anonymous conversion analytics on the portal (e.g. download button clicks, app-download gate impressions) contain no account, email, or precise IP; events are sent to the Hong Kong API above, retained for about 90 days as raw events, then rolled into anonymous daily aggregates for product improvement. - App, HarmonyOS, and portal Web GDT ad-placement analytics (impressions / clicks with placement ID and position; portal Web currently reports GDT impressions only; no account or device ID) are sent to the same Hong Kong API. The server stores the request public IP and resolves country/region via local GeoLite2 into the raw event; raw events are retained about 90 days and rolled into daily aggregates that include distinct-IP counts and country/region rollups, for placement measurement, regional CTR comparison, and anti-abuse.
- After you consent, our own servers also store the advertising device identifier that corresponds to an impression or click (OAID, IDFA, or GAID; a local placeholder identifier when the system returns none) and any invite code you enter under Version info, for our own attribution check. These records are not joined to an account, payment, or location, and are kept for at least 90 days. The ad-placement daily table still does not contain them.
- Discovery short videos (clips we publish on the in-app Discovery page) use anonymous view analytics (play start / complete / like, using an identifier that cannot be turned back into a device, with no account, email, or full IP). They are stored on our servers in Hong Kong for about 90 days, with anonymous daily summaries for content operations and product improvement. When signed in with OpenDev, likes, favorites, and follows may also be linked to an account identifier that cannot be reversed, and can sync across devices you have linked. Unlinking or signing out shows this device only. History stays until the retention period ends or you ask us to delete it.
- After you turn on usage statistics in the app, a cold start sends the device identifier, version, and channel once, so we can count startup opens. The server resolves a country and region from that connection's public IP and stores that public IP with the country and region codes. The stored public IP is only for correcting that region later. The admin region table does not list the raw IP. Those records stay on our servers in Hong Kong for at most 90 days. When you delete this device's data, we delete them. The portal sends one report per browser tab, using the anonymous device identifier already stored in the browser, with no account or email, and keeps it for at most 90 days.
- Data of overseas users may also transit third-party SDK infrastructure cross-border.
7. Subscription & Purchase Data
7.1 Store IAP (Apple / HarmonyOS)
When you subscribe via App Store / Huawei AppGallery HarmonyOS NEXT Ark build
(com.zinben.NetHelp), we collect the following data to manage auto-renewing subscription
state. Android Google Play APKs use §7.2; Android Huawei APK membership/tips use §7.3.
| Data | Source | Purpose | Storage |
|---|---|---|---|
| Subscription transaction or purchase receipt | Apple, Huawei AppGallery, or the HarmonyOS store | Identify the subscription and prevent issuing it twice | Your device and our servers |
| Subscription product | Same as above | Identify which product you bought | Same as above |
| Expiration date | Same as above | Determine whether membership is still active | Same as above |
| Refund time | Same as above | Revoke the entitlement after a refund | Same as above |
We do not collect: credit card info (handled by the payment platforms), Apple ID /
Google Account / Huawei Account passwords, family member information.
When a user on the Android Huawei AppGallery channel chooses Huawei Account login, via
HMS Account Kit and OpenDev Accounts we may process openId / unionId and optional display
name (pseudonymous identifiers, no passwords) for account linking and cross-device entitlements.
See §7.3 and the SDK list.
Third-party processors:
- Apple: handles iOS subscription lifecycle. Privacy policy: https://www.apple.com/privacy/.
- Huawei: handles HarmonyOS NEXT Ark IAP subscription lifecycle. Privacy policy: https://consumer.huawei.com/en/legal/privacy-policy/.
7.2 Google Play Android channel (OpenDev orders + Play Billing)
On Android Google Play apps (com.zinben.NetHelp / com.zinben.NetHelpStandard), Basic / Pro subscriptions and tips are paid through Google Play. Membership is a subscription; a tip is a one-time purchase. Orders and entitlements are managed by OpenDev and our servers, so membership can be granted and synced across devices. This path does not use the OpenDev WeChat checkout page (§7.4). We record the Google Play purchase receipt, the OpenDev order, the product, and the device and account identifiers — not card numbers. Renewal follows Google Play's subscription result, and we extend membership to match it. Tips are one-time purchases and do not renew.
7.3 Huawei Android channel (OpenDev orders + Huawei IAP)
On the Android Huawei app (com.zinben.NetDiagnotor), Basic / Pro membership and tips are paid through Huawei in-app purchase as a one-time product, not as a Huawei subscription that bills again automatically. Orders and membership periods are managed by OpenDev and our servers. This path does not use the OpenDev WeChat checkout page (§7.4). We record the Huawei purchase receipt, the OpenDev order, the product, and the device and account identifiers — not card numbers. Renewal: OpenDev calculates how long the membership lasts. Huawei does not charge again when it ends. The app reminds you before expiry; to extend, buy the same membership again.
7.4 OpenDev Web Payment (official / Desktop)
For Basic / Pro subscriptions or one-time tips bought on the official Android app or on desktop through the payment page we provide (OpenDev), we record the OpenDev order, the product, the device and account identifiers, and whether payment succeeded, for fulfillment and tax compliance — not full payment account numbers or card numbers. Renewal and cancellation follow that payment page and the payment provider. Contact contact@zinben.com to ask about an order.
7.5 Rewarded Basic (rewarded membership)
Some surfaces (including CN mobile portal Web) let you earn short-term Basic days by watching rewarded video ads (daily cap and stack cap as shown in the app or on the portal). We grant the reward only when the ad provider supplies Server-verifiable completion proof. A provider that cannot supply that proof does not grant ongoing membership this way.
We keep a device identifier, the account identifier from a verified sign-in, the provider and placement, the reward status, and a one-way summary of the provider's transaction, so the same reward cannot be claimed twice. These records are retained for no more than 90 days.
Deleting this device's data removes that device's reward records and the Basic days tied to the device. Deleting by account requires a verified OpenDev sign-in and removes only that account's reward records and the Basic days tied to the account. It does not remove the link between a device and an account, short-video activity, or payment records we must keep by law.
A device identifier cannot authorize an account deletion. Temporary migration exception: older app versions may still claim in the previous way while migration is open. If you are not signed in, an account identifier sent with the request is ignored and the reward is recorded on this device only, still subject to the daily limit, minimum interval, and stack cap. Migration statistics keep only daily totals without account or device identifiers. The older path can be turned off only after at least 14 days of persisted observation, zero calls within that window, and review approval.
Watching rewarded ads does not charge you. Earned Basic days are not a paid subscription or auto-renewing plan, and there is no automatic billing when they expire.
7.6 Room Privacy Check
Basic members and above may use Room Privacy Check in the App task desk to aggregate multi-signal clues worth a manual review (LAN device responses, nearby Wi-Fi / BLE broadcasts, camera-guided sweep, magnetic sensor, etc.) in the current authorized network and space.
Free users see a feature preview and upgrade entry only — no real scan, system permission prompts, or on-device report storage.
- On-device processing: scans run on your device; room frames, raw SSID/BSSID/MAC/BLE values, and full device banners are not uploaded by default to our servers.
- Report storage: redacted reports for Basic+ users are stored on-device only (recent ~20). You may choose to share a redacted summary (verdict text and counts only — no raw SSID, MAC, or IP).
- Permissions: each layer runs only after you grant the relevant permission; if you decline, that layer is marked not checked without blocking other layers.
- Conclusion boundary: results are a review aid, not proof of hidden devices or a safety guarantee; "no obvious signals" does not mean absolute safety.
- On-device SDK: the Android official build may use Google ML Kit Object Detection (bundled) for visual guidance; camera frames are inferred on-device only and never leave the device (see third-party SDK disclosure).
Detailed consumer-side subscription rules (auto-renewal, cancellation, refund, cross-device restore, family sharing, free trial) are in Net-Diagnotor Subscription Terms.
8. Updates
For material changes we will:
- Show a "new version" notice in Settings → Privacy;
- Ask you to confirm again on the same screen you saw when you first opened the app.
Prior versions are available on request to contact@zinben.com.
9. Relationship with the Company-Wide Master Privacy Policy
Net-Diagnotor is operated by Zinben. This policy is how the company-wide Privacy Policy applies to Net-Diagnotor. Where they do not conflict, this policy applies first. Matters not covered here follow the company-wide policy. Company-wide rules (office addresses, data-protection contact, and sharing across products) follow the company-wide policy. The company name and those links are at the bottom of this page.
Zinben Net-Diagnotor Team · Last updated: 2026-09-30