Privacy Policy
1. Who is responsible
The data controller for the app and this website is xiaoniubuniu (individual app developer, Google Play developer account holder).
Contact: support@xiaoniubuniu.com
Postal address: [fill in before publishing — required by GDPR Art. 13(1)(a)]
For data processed by Google services used inside the app (ads, analytics, crash reporting, in-app billing), Google Ireland Limited / Google LLC act as separate or joint controllers as described in Google's Privacy Policy.
2. What we collect and why
2.1 Data that never leaves your device
- Measurement history — distances, 3D point coordinates, ray counts, fit residuals, quality grades, notes you type, timestamps. Stored only in the app's private storage on your phone. There is no account and no server: we never see this data and cannot access it. Uninstalling the app deletes it.
- App settings — language and unit preferences, onboarding state.
- Ad frequency counters and the “ads removed” entitlement cache — small local values to rate-limit interstitial ads and avoid flashing ads on a cold start. The entitlement's real source of truth is the purchase record queried from Google Play.
2.2 Camera and motion/location sensors (on-device processing)
The app uses your permission to access the camera and device motion/environmental sensors through Google ARCore. Camera frames are processed in real time on the phone to estimate the device's pose and draw rays; frames are not saved, not uploaded and not used for anything else. Location permission is requested because the Android AR platform uses device-location signals as an additional motion-tracking input; the app itself does not record or upload your geographic position.
2.3 Data processed by Google services
| Service | What it processes | Purpose |
|---|---|---|
| Google Mobile Ads (AdMob) | Advertising identifier (when enabled on your device), device model, OS & app version, network/coarse location signals, ad interactions | Serving banner and interstitial ads, frequency capping, fraud detection and billing of ads |
| Firebase Crashlytics | Crash stack traces, device model, OS and app version, anonymized device/session identifiers | Diagnosing and fixing crashes |
| Firebase Analytics | Aggregate app-usage events (screen views, feature usage counts), coarse device attributes | Understanding which features are used, in aggregate |
| Google Play Billing | Order ID, purchased products, purchase state — handled by Google and queried by the app | Processing the one-time “remove ads” purchase and restoring it on your devices |
| Play In-App Updates / Review | Queries to the Play Store made from your device | Checking for a newer version; showing the native rating dialog if you choose “Rate us” |
2.4 What we do NOT do
- No user accounts, no sign-in, no email collection;
- No collection of contacts, photos, files, microphone or clipboard;
- No selling of personal data; no transfer of your measurement data to anyone — we do not receive it in the first place;
- No tracking pixels or cross-site profiling on this website (it is static HTML and loads no third-party scripts).
3. Legal bases (GDPR / UK GDPR)
| Processing | Legal basis |
|---|---|
| Providing measurement features, on-device storage | Necessary to provide the service you use (Art. 6(1)(b)) |
| Crash reporting, security and stability diagnostics | Legitimate interest in a stable app (Art. 6(1)(f)) |
| Advertising and analytics involving personal data (e.g. advertising identifier) | Consent where required by EU/UK ePrivacy and similar rules, obtained and managed through Google's consent and ads-settings mechanisms; otherwise lawful ad serving per Google's ad-platform terms (Art. 6(1)(a)) |
| “Remove ads” purchase handling | Performance of a contract (Art. 6(1)(b)) |
You can withdraw consent at any time without affecting past processing: reset or opt out of the advertising ID under Settings → Google → Ads (Android), and buy ad removal in the app.
4. How long data is kept
- Measurement history, notes, settings: until you delete them or uninstall the app.
- Crash reports: up to ~90 days (Firebase Crashlytics default retention).
- Analytics event data: up to 14 months by default (Firebase Analytics retention, developer-controlled).
- Ad-related identifiers: per Google's advertising data policies — see Google, How ads work.
- Purchase records: held by Google under its Play billing retention rules.
5. Your rights
Where these rights apply under your local law (GDPR/UK GDPR, CCPA/CPRA, PIPEDA, LGPD and similar), you may request to:
- Access / know what personal data is processed about you;
- Rectify inaccurate data;
- Erase / delete personal data (“right to be forgotten”);
- Restrict or object to processing, including processing based on legitimate interests;
- Port your data (measurement history is exportable in the sense that it already lives on your device under your control);
- Opt out of sale/sharing for cross-context behavioral advertising (CCPA/CPRA) — see §7;
- Withdraw consent at any time (§3).
In practice: almost all app data is on your device, so deletion is as easy as removing an entry in History or uninstalling. For anything handled via Google services, your privacy controls at myaccount.google.com (Ads settings, History settings) apply and are effective directly. To make a request to us, email §1 — we respond within 30 days. You also have the right to lodge a complaint with your local supervisory authority (EU/UK) or equivalent regulator.
6. Children
The app is a general-purpose measurement tool, not directed at children. We do not knowingly collect personal data from children under 13 (COPPA) or under 16 in the EEA/UK. If you believe a child has provided personal data through ad or analytics channels via this app, contact us and we will take steps to have it removed through the relevant processor.
7. California (CCPA/CPRA) notice
We do not sell personal information. Allowing Google's ad SDK to use an advertising identifier for personalized ads may be classified as “sharing” for cross-context behavioral advertising under the CPRA. You can opt out at any time by:
- purchasing “Remove ads” in the app (no ad SDK loading afterwards); or
- enabling Opt out of Ads Personalization / resetting the advertising ID in your Android device settings; or
- using Google's Ad Settings at adssettings.google.com.
Categories of personal information disclosed to service providers in the preceding 12 months: identifiers (advertising/device IDs), internet or other network activity (crash and usage logs), and commercial information (purchase status), each as described in §2.3. We do not discriminate against consumers who exercise their rights.
8. International transfers
Google services referenced above process data on infrastructure located worldwide, including the United States. Where your data leaves the EEA/UK/Switzerland, transfers rely on the European Commission's adequacy decisions for the EU–US Data Privacy Framework (Google is a certified company) and on Standard Contractual Clauses with supplementary measures, as applicable to each Google platform.
9. Security
Measurement data is confined to the app's private storage, which Android sandboxes from other apps. Network features use HTTPS. Access to analytics/crash consoles is limited to the developer and Google's own access controls. No method of transmission or storage is perfectly secure, which is another reason the most sensitive thing in this app — your measurements — never needs to leave your phone.
10. Changes to this policy
If the app's data practices change materially, we will update this page, change the “Last updated” date above, and — where the change requires new consent — ask for it in the app. Continued use after an update means the new policy applies to future processing. A dated history of policies can be provided on request.
11. Other jurisdictions
This policy is written to satisfy the EU GDPR and UK GDPR, the California CCPA/CPRA, Canada's PIPEDA, Brazil's LGPD, South Korea's PIPA, Japan's APPI and the COPPA requirements in the United States. If any provision is inconsistent with the mandatory law applicable to you, that law prevails and the provision is read narrowly to comply with it.