Privacy Policy

Last updated: 2 November 2026

Effective date: 2 November 2026

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

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:

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:

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:

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.

Email

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:

Tracking and App Tracking Transparency

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

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

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