Zcode Mobile Privacy Policy
Last updated: October 24, 2026
The advertising disclosures below apply to version 2.1 and later builds containing advertising components. Version 2.0 does not include this ad entry point.
Zcode Mobile is a third-party mobile connection tool that works together with a copy of ZCode that you install and run on your own desktop computer. The app is not affiliated with, an agent of, or officially authorized by the developers or operators of ZCode, unless the store listing states otherwise.
Information the app processes
- Camera: used only to recognize, in real time, a connection QR code that you choose to show it. Camera frames are processed on your device; the app never stores or uploads them.
- Photos: when you pick an image, the app reads only that image and decodes the QR code on your device. The selected image is never uploaded to the developer's servers.
- Connection details: the connection address from the QR code, together with any username and password you choose to enter, are stored on your device (credentials in the iOS Keychain) so the app can open the workspace and restore the connection next time. They are never sent to the developer's servers. Credentials are bound to the exact scheme, host, and port they were saved for and are not reused when you switch to a different server.
- Local network: the app may search your local network for compatible ZCode services. At present, official ZCode remote control normally still requires scanning the QR code generated on the desktop.
- Language: the app may read the current App Store storefront country using Apple's StoreKit. The country code and your language preference are stored locally to select Chinese for mainland China and English elsewhere. If no storefront is available, the device region is the fallback. You can choose a language manually. No location permission or location tracking is used for this feature, and the developer receives no storefront or language telemetry.
Network communication and third-party services
The app itself runs no account system, analytics service, or advertising service, and it sends no data about you to servers operated by the developer. The only request the app can make to the developer's server is the optional, identifier-free download of the link list described under "Support the developer" below, and that download is disabled by default. Once you connect to a workspace, the web content, workspace data, session content, and anything you submit in the page are exchanged directly with the ZCode instance the QR code points to (or the service you configured) and are governed by that service's own privacy policy and terms.
If you connect to a LAN address that does not use HTTPS, the traffic is not protected by HTTPS transport encryption. Only connect to devices and networks you trust, and prefer the official connection method generated by the desktop app.
"Support the developer" page
Zcode Mobile is free. After 3 cumulative foreground minutes in an online workspace, a sponsored break becomes eligible at the next conversation or page transition, rather than interrupting typing solely on a timer. It never appears on the connection screen. The app persists a reservation before consent/loading/display, so any continuous 48-hour period has at most one attempt, including after an app restart.
Shopping promotion buttons open an external affiliate link (currently Taobao) in your default browser or the corresponding shopping app and dismiss the page. Skip is available immediately and closes the page without opening a link or loading an ad. There is no countdown. An email link is available for feedback about sponsored content.
The affiliate link itself involves no SDK, no tracking, and no device identifiers: the app simply opens a URL that carries only the affiliate placement ID, attaches no information about you or your device, and receives nothing back. Once the link opens, the destination website or app is operated by a third party and is governed by that party's own privacy policy.
At the first eligible break, the app explains data use and offers two ad modes: consent to necessary data processing for non-personalized Google ads, or decline extra data and try eligible Google limited ads. The selected mode is stored only on this device. Declining extra data is not recorded as consent to ordinary non-personalized processing, and the app never fabricates CMP/TCF consent strings. Limited mode uses Google's documented zero cookie-consent signal to reduce local-identifier features. Delivering ads still requires IP and technical data; under Google's configuration, fraud-prevention-only cookies or local storage may be used. This is not zero-data advertising and does not guarantee available ads. See https://support.google.com/admob/answer/10105530?hl=en.
Both modes remain subject to UMP regional, vendor, and transparency requirements. If Google does not permit an ad request, nothing is loaded. Later eligible breaks use the saved mode and show an ordinary interstitial automatically when ready, without a View ad or Play button. You can skip a break or fully disable automatic ads in Ads and privacy settings. A previous explicit automatic-ad opt-out remains off. Creatives may be video, image, or rich media. No cash or in-app reward is promised. No fill, failed requests, cancellation, and denied tracking do not restrict the workspace. Leaving the page, opening privacy settings, or backgrounding while loading cancels automatic presentation.
Google Mobile Ads SDK may process IP addresses and approximate location derived from them, device/system information and device identifiers, advertising data, product interactions, crash data, performance data, and other diagnostic data for ad delivery, measurement, analytics, and invalid-traffic prevention. The app does not actively provide workspace URLs, credentials, conversations, or code to advertising SDKs. Google requests currently always disable personalization (npa=1 and disabled publisher privacy personalization state) and publisher first-party ID. Non-personalized does not mean no necessary data processing. IDFA availability remains controlled by iOS ATT; the app requests ATT at first launch after the network permission flow, while active and before advertising initialization or requests. Existing decisions are not requested again. A system-denied or restricted result does not block normal use or eligible non-personalized/limited requests. Pending or undetermined authorization does not unlock advertising. Allowing tracking does not enable Google personalization. See https://policies.google.com/privacy and https://developers.google.com/admob/ios/privacy/data-disclosure.
Before requesting ads, Google User Messaging Platform (UMP) refreshes regional consent requirements and presents a form when necessary. Ads are requested only when UMP permits them; declining extra app data does not bypass this check. Where required, a Google privacy-options entry point is available in the app's advertising and privacy settings. If the remaining regional requirements are not met, no ad is loaded and normal use remains available. Tracking authorization can be managed in iOS Settings > Privacy & Security > Tracking.
The package also retains DCloud uni-ad / Sigmob adapter components. The production entry point in this release uses Google; no production DCloud/Sigmob placement is configured and that entry point does not initialize or request ads from them. Their disclosures are https://dcloud.io/license/uni-ad.html and https://doc.sigmob.com/sigmob/140/. Other-channel personalization preferences default off and do not turn Google personalization on.
The app can optionally download a small static JSON list of current link URLs from the developer's server. That request contains no identifiers and no user data, and this download is disabled by default.
Data sharing and sale
The app does not sell user data and does not share user information with data brokers or marketing platforms. Opening an affiliate link, as described above, sends no information about you from the app to the destination site; the data handled by the embedded advertising SDK is described under "Support the developer" above.
Data deletion
Scan a new connection code to replace the saved connection address. To remove saved credentials, open the connection settings, leave both username and password empty, and save a valid connection. Switching to a different server origin also clears the old origin's saved credentials. Uninstalling removes the app's container data, but iOS Keychain items may persist; clear credentials before uninstalling if required. Data already held by the remote service must be handled according to that service's own rules.
Children's privacy
The app is intended for developers and users of the ZCode desktop app and is not directed at children.
Contact
If you have questions about this policy or about how the app handles data, email 1459636830@qq.com.
Support