Privacy Policy
The short version. Kupfra has no accounts. Your projects, prices and company logo are stored on your device, and the camera measures on your device and records nothing. The free app uses services from Google and RevenueCat: free users see ads from Google AdMob; Google Firebase measures how the app is used, reports crashes and delivers a few settings; RevenueCat checks whether you have unlocked Kupfra. Where the law requires consent, ads and analytics wait for your answer in Google's consent form, and the advertising identifier is used only if you allow tracking when iOS asks. If you unlock Kupfra, the app shows no ads. We run no servers of our own and do not sell your personal information.
This policy explains how the Kupfra app for iPhone ("Kupfra", "the app") handles information, and the rights you have. It also covers this website, kupfra.com.
Who we are
Kupfra is developed and published by Darius Cirjan, who is the data controller for the purposes of the EU General Data Protection Regulation (GDPR). You can reach us at iosallapps@icloud.com.
Privacy at a glance
- No account, no sign-in, and we never ask for your name, email address or contacts.
- Projects, prices, your company details and logo stay on your device.
- The camera is used only for measuring, on your device. Nothing is recorded, saved or uploaded.
- Ads (free users only), usage analytics, crash reports, app settings and purchases are handled by Google and RevenueCat, as described below.
- We do not sell your personal information.
Data stored on your device
Kupfra stores on your device the projects you save (the inputs of a stair or a calculation, with a name and dates), your settings (units, stair guidance, your trade, your unit prices and currency), your company name, contact details and logo for client PDFs, and markers such as whether onboarding was completed, the answers you gave in Google's consent form and whether you have unlocked Kupfra. None of this is sent to us. Kupfra does not sync it through iCloud. Deleting the app removes it from that device.
Client PDFs and exports. A PDF or text export is created on your device. It goes only where you choose to send it, for example with the share sheet. It contains what you entered, including your company details and logo if you added them, and the client name and notes you typed.
The camera
If you choose to measure a stair with the camera, iOS asks for camera access. Kupfra uses Apple's ARKit on your device to estimate distances, and uses LiDAR depth where your device has it. The camera image is processed on the device while the measuring screen is open. Kupfra does not record, save or upload photos, video or depth data, and the camera is not used for anything else. You can turn camera access off at any time in the Settings app, and you can type the values instead.
Data collected by the services in the app
The services below receive data directly from the app. None of them receive your projects, your dimensions, prices, company details or logo, and none of them receive your name, email address or contacts.
Advertising: Google AdMob (free users only)
The free app shows ads served by Google AdMob, including a full-screen ad when you open the app and at some points after you use it. Google receives:
- Your IP address, from which Google can estimate your approximate location, such as your country or city.
- Device and app information, such as device model, iOS version, language and app version.
- Ad requests and interactions, such as which ads were shown and whether you tapped them.
- Your device's advertising identifier (IDFA), only if you allow tracking when iOS asks.
Google uses this to serve ads, measure how they perform, prevent fraud and, where you have allowed it, show ads based on your interests.
When. Kupfra requests no ads until Google's consent form has been answered, where one is required, and until you have answered the iOS tracking prompt. If you unlock Kupfra, the ad service is not started, no ad is requested and no consent form is shown.
Personalisation. Where consent is required and you have not agreed to personalised ads, Kupfra asks Google for non-personalised ads. Anywhere in the world, if you do not allow tracking, the advertising identifier is not available and ads are not based on tracking you across other companies' apps and websites. Google may still use contextual information, such as the app the ad appears in and your approximate location. Kupfra also supports Apple's SKAdNetwork, which lets an advertiser learn that an install came from an ad without identifying you.
Google's privacy policy applies to the data it receives: policies.google.com/privacy. How Google uses data from apps that use its services is explained at policies.google.com/technologies/partner-sites.
Usage analytics: Google Analytics for Firebase
Google Analytics for Firebase receives:
- Events describing how the app is used, for example app opens and returns, onboarding steps, which tabs and features are used, the unlock and offer screens, purchases and restores with the plan, price and currency, whether an ad was shown, when the app asks for a rating, and your answers to permission prompts. The events do not contain your projects or the values you enter.
- Whether you use the free version or have unlocked Kupfra, and the state of a subscription (for example in a trial, active or expired).
- A random identifier for this installation of the app, the identifier Apple gives to apps from the same developer (IDFV), device and app information, and your IP address, from which Google estimates your approximate location.
We use this to understand which features work, fix what does not, and see whether the unlock and our marketing are working.
When, and how to opt out. Analytics stays switched off until Kupfra knows whether consent is needed for you. Where consent is required (the European Economic Area, the United Kingdom and Switzerland), it is switched on only if you agree in Google's consent form to information being stored on your device and to measurement. Elsewhere, it is switched on once Google has confirmed that no consent is needed. Events from before that decision are held in memory and are discarded if analytics stays off. Where the consent form applies, you can change your answer at any time: Settings in Kupfra, then Privacy choices.
Advertising signals. Only if you allow tracking may Google Analytics use your advertising identifier and share measurement data with Google's advertising services. If you do not allow tracking, Kupfra tells Google Analytics that these advertising uses are not permitted.
Crash reports: Firebase Crashlytics
When the app crashes, Firebase Crashlytics receives a report: the technical details of the crash, device model, operating system version, app version, device state such as free memory and storage, and a random installation identifier. If analytics is switched on, the report also includes the most recent analytics events. Crash reporting is not controlled by the consent form. It runs so that we can find and fix crashes, and it contains none of your project data.
App settings: Firebase Remote Config
The app downloads a few of its settings from Firebase Remote Config: the layout of the unlock screen shown during onboarding and the plan it selects first. The request includes a random installation identifier, the app version, your device language, country and time zone, and your IP address.
Firebase is provided by Google. More about how Firebase handles data is at firebase.google.com/support/privacy.
Purchases: Apple and RevenueCat
Kupfra can be unlocked with an auto-renewing subscription or a one-time purchase, sold through the App Store. Apple processes your payment, and your payment details never reach us or RevenueCat. RevenueCat receives:
- A random, anonymous user identifier that RevenueCat creates for this installation.
- Your App Store purchase information, such as which product you bought, purchase and expiry dates, whether you are in a free trial, the price and currency, and whether a subscription will renew.
- Device and app information, such as operating system version, app version, language and App Store country, and your IP address.
- Only while analytics is switched on, the random Firebase identifier of this installation, so that renewals, trial conversions and refunds can be counted in Google Analytics.
We use this to know whether Kupfra is unlocked, to restore your purchases, to check whether you can start a free trial or an offer, and to see how purchases are doing. RevenueCat does not receive your advertising identifier. RevenueCat's privacy policy is at revenuecat.com/privacy, and Apple's is at apple.com/legal/privacy.
If you write to us, we receive your email address and whatever you include in the message. We use it only to answer you and keep the conversation for as long as needed to help you, after which we delete it.
Legal basis (GDPR)
If you are in the European Economic Area, the United Kingdom or Switzerland, we rely on these legal bases:
- Consent (Article 6(1)(a) GDPR) for advertising, including personalised ads, for Google Analytics, and for tracking through your advertising identifier. You give it in Google's consent form and in the iOS tracking prompt, and you can withdraw it at any time, as described under Your choices. Withdrawing consent does not affect processing that took place before.
- Contract (Article 6(1)(b) GDPR) for processing your purchase and subscription status through Apple and RevenueCat, which is needed to provide the unlock you bought.
- Legitimate interests (Article 6(1)(f) GDPR) for crash reports and app settings, which we need to keep Kupfra working reliably, and for answering your emails. You can object to this processing by contacting us.
Tracking and App Tracking Transparency
- During onboarding, after Google's consent form if one is shown, iOS asks whether Kupfra may track you across other companies' apps and websites.
- If you allow tracking, your advertising identifier is available to Google AdMob and Google Analytics for personalised ads and ad measurement, still subject to your choices in Google's consent form where one applies.
- If you ask Kupfra not to track, the advertising identifier is not used, and Kupfra tells Google Analytics that advertising uses of your data are not permitted.
- No ad is requested until you have answered the prompt.
- You can change your answer at any time in the Settings app, under Privacy & Security, Tracking. Kupfra applies the change the next time you open it.
Third parties
Kupfra shares data only with the services described above: Google (AdMob, Analytics, Crashlytics and Remote Config, under the Google Privacy Policy and Firebase's privacy information) and RevenueCat (RevenueCat Privacy Policy). Apple provides the App Store and StoreKit; when you use them, Apple's privacy policy applies.
International transfers
Google and RevenueCat process data in the United States and in other countries. When data from the European Economic Area, the United Kingdom or Switzerland is transferred to a country without an adequacy decision, these companies protect it with safeguards recognised under the GDPR, such as the EU-U.S. Data Privacy Framework or the European Commission's Standard Contractual Clauses.
How long data is kept
- Data on your device stays until you delete it. Deleting the app removes it from that device.
- Google Analytics keeps event data for 14 months. Reports that only show totals and do not identify anyone may be kept longer.
- Firebase Crashlytics keeps crash reports and their identifiers for 90 days.
- Firebase Remote Config and Google AdMob keep data for the periods set out in Firebase's privacy information and Google's privacy policy, linked above.
- RevenueCat keeps purchase records for as long as they are needed to provide the unlock and to meet accounting and legal obligations.
- Emails are kept for as long as needed to answer you and follow up, and then deleted.
This website
kupfra.com is a static website hosted on GitHub Pages by GitHub, Inc. It sets no cookies, uses no analytics or tracking scripts and loads no third-party fonts or scripts. When you visit it, GitHub receives your IP address and standard technical request data to deliver the pages and keep the service secure, and may keep them in its logs under the GitHub General Privacy Statement. GitHub is based in the United States and takes part in the EU-U.S. Data Privacy Framework. We do not receive these logs.
Children
Kupfra is a tool for building and electrical work and is not directed to children under 13. We do not knowingly collect personal data from children under 13 or under the age of digital consent in their country. If you believe a child has used Kupfra and data about them has been collected, or a child has emailed us, a parent or guardian can write to us and we will help have it deleted.
Your choices
- Consent form: if your region requires it, you can reopen Google's consent form at any time in Kupfra, under Settings, Privacy choices.
- Tracking: the Settings app, under Privacy & Security, Tracking.
- Camera: the Settings app, under Kupfra, Camera.
- Ad personalisation with Google: myadcenter.google.com.
- No ads at all: unlock Kupfra.
- Everything on your device: delete the app. A subscription is not cancelled by deleting the app.
Your rights
Under the GDPR and similar laws you have the right to access, correct, delete or export personal data about you, to object to or restrict its processing, to withdraw consent at any time, and to complain to a data protection authority. In Romania this is the Autoritatea Națională de Supraveghere a Prelucrării Datelor cu Caracter Personal (ANSPDCP). We would appreciate the chance to help first.
Because Kupfra has no accounts, the data held by Google and RevenueCat is linked to random identifiers rather than to your name or email address, so we often cannot tell which records are yours. Email us at iosallapps@icloud.com and we will do what we can. For purchase records, include the order ID from your Apple receipt (you can find it at reportaproblem.apple.com) so that we can find your record and ask RevenueCat to delete it. Apple keeps its own purchase records under Apple's privacy policy. We answer privacy requests within one month.
California residents. We do not sell personal information for money. If you allow tracking, the advertising identifier and ad data that Google receives may count as "sharing" personal information for cross-context behavioural advertising under California law. You can stop this at any time by not allowing tracking in the Settings app, under Privacy & Security, Tracking. We do not use sensitive personal information, and you have the right to know about and delete your personal information and not to be treated differently for using these rights.
Security
The services above receive data over encrypted connections. No method of storing or sending data is completely secure, but we choose established providers and share only what this policy describes.
Changes to this policy
If Kupfra's handling of information changes, we will update this page and its effective date before the change takes effect. If a change is significant, we will also mention it in the app's release notes. If a change requires your consent, we will ask for it.
Contact
Darius Cirjan, iosallapps@icloud.com