Privacy Policy


Civil Engineering Calculator (Android and iOS), published by Kirolabs.

Package / bundle identifier: io.kirolabs.CivilCalculator


Last updated: 22 September 2026




1. The short version


- There is no account. No login, no sign-up, no password, no email address. Not now, and not as an optional extra.

- Your calculations never leave your device. The dimensions you type, the results, your projects, your client and site names, your notes: none of it is transmitted to Kirolabs or to anyone else.

- Kirolabs holds no copy of your work. There is no Kirolabs server with your projects on it, because there is no Kirolabs server in this app at all.

- We do receive anonymous usage and crash data, through Google Firebase, so we know which calculators are used and which builds crash. You can switch that off in Settings → Privacy → Share anonymous usage data.

- The app asks for one permission: internet. No location, no camera, no microphone, no contacts, no photos, no file access, no notifications.




2. What stays on the device


Civil Engineering Calculator is an offline-first toolbox of roughly sixty civil engineering and construction calculators, covering concrete, masonry, plaster, paint and tile, excavation, asphalt and road work, rebar and RCC, structural beams, formwork, soil mechanics, roofs and stairs, area and volume, material weight, and unit conversion. You type dimensions, you tap Calculate, and the app gives you a number together with the formula and the assumptions behind it. All of that arithmetic happens on your phone, with no network call involved.


Everything the app remembers for you is written to a local database inside the app's private sandbox on your device. That includes:


- your calculation history;

- your saved projects, including the project name and any optional client or site name, optional location, and notes you add;

- your favourite calculators;

- your custom material presets and the prices you set for them;

- your choice of unit system, your theme, your language, your currency, and your default waste percentage.


No part of that is uploaded, synced, shared between devices, or readable by Kirolabs. If you uninstall the app, that data is deleted with it, and we cannot restore it for you, because we never had it.


Operating system backups. Android Auto Backup and Apple's iCloud device backup may include the app's private data as part of a whole-device backup, depending on your own device settings. Those backups are created, encrypted, stored and deleted by Google and Apple under their own privacy policies, not under this one. Kirolabs has no access to them and cannot read, retrieve or delete them. If you do not want your app data included, turn off backup for this app in your device settings.


Exported files. When you export a result or a project as a PDF, as a CSV, or as plain text, and then share it, that file leaves the app at the moment you share it. From that point it is governed by wherever you sent it: your email provider, your messaging app, your cloud drive, your printer. Kirolabs is not a party to that transfer and has no visibility into it.




3. What we do receive


Four Google Firebase services and one purchase service are wired into the app. Each one is described below with exactly what it sends and an explicit list of what it never sends. Nothing else phones home.


3.1 Firebase Analytics (Google)


Firebase Analytics tells us, in aggregate and anonymously, which parts of the app people actually use, so we can decide what to improve. It sends event names and a small set of non-identifying parameters.


The events it sends are: app_open, calculator_search, calculator_open, calculation_completed, calculator_favorited, project_created, calculation_saved, pdf_export_started, paywall_viewed, purchase_started, purchase_completed, purchase_restored, and changes to your language, unit system or theme.


For calculation_completed only, three parameters go with the event: the identifier of the calculator you used, the unit system in force, and whether you are on the free tier or on Pro.


Firebase Analytics never sends: the numbers you typed, the results you got, project names, client names, site names, locations, notes, custom material prices, or any file you have exported. Those values are not attached to any event, in any form.


Alongside events, Firebase collects a standard set of device and app metadata: your app version, your operating system version, your device model, a coarse country derived from your IP address, and a resettable Firebase instance identifier. Google does not retain your full IP address for this purpose.


Switch it off: Settings → Privacy → Share anonymous usage data. When that toggle is off, no analytics events are collected or sent.


3.2 Firebase Crashlytics (Google)


Crashlytics tells us when the app crashes and where in the code it happened, so we can fix it. When a crash occurs, it sends the stack trace, your app version, your operating system version, your device model, and a non-reversible installation identifier used to group repeat crashes from the same install.


Crashlytics never sends: your calculation inputs, your results, your project contents, your notes, your client or site names, or any exported file. Crash reports contain code locations, not your data.


Switch it off: the same toggle, Settings → Privacy → Share anonymous usage data.


3.3 Firebase Remote Config (Google)


Remote Config lets us turn features on and off and correct problems without waiting for a store update. The app downloads a small set of feature flags. To choose the right values for you, the request carries only your app version, your language, and your platform.


Remote Config never sends: any user data at all. It is a download. Nothing about your calculations, projects or settings goes up.


This one cannot be switched off. It carries the safety floor that lets us block a build we have found to corrupt data from continuing to run. Turning it off would remove the only mechanism we have for protecting your saved work from a bad release.


3.4 RevenueCat, with the Apple App Store and Google Play


If you buy Pro, the purchase is processed by Apple or Google, and RevenueCat verifies and keeps track of the resulting entitlement.


RevenueCat receives an anonymous app user identifier that RevenueCat itself generates, the purchase receipt issued by the store, the product identifier, the purchase and expiry dates, the platform, and the country of the store account. No account is created, and that identifier is not linked to a name, an email address or any profile.


Kirolabs never sees your payment card number, your name, or your billing address. Those are collected and held by Apple or Google under their own privacy policies, and are never passed to us or to RevenueCat.


RevenueCat never receives: your calculations, your projects, your notes, or anything else you have entered in the app.


3.5 Support email


Our public support address is labskiro@gmail.com. If you write to us, we hold whatever you chose to put in your message, including your email address and any screenshot or file you attach, for as long as we need it to answer you and to keep a record of the issue. We do not use that address for marketing, and we do not add it to any list.


3.6 Advertising


There is no advertising in this app. The advertising kill switch ships in the on position, meaning ads are disabled. If we ever decide to enable advertising, we will update the store listing and this policy before doing so, and no advertising identifier is collected in the meantime.


3.7 Permissions


The app declares the internet permission and nothing else. It does not request or receive access to your location, camera, microphone, contacts, photos, files, or notifications in version 1.




4. Children


Civil Engineering Calculator is a professional tool for people working in construction and civil engineering. It is not directed at children under 13, or under 16 in the European Economic Area, and we do not knowingly collect data from them. Because there is no account and no profile, the app has no way of identifying an individual user of any age. If you believe a child has sent us something through the support address, write to us and we will delete it.




5. Your rights


If you are in the European Economic Area or the United Kingdom, the General Data Protection Regulation gives you the rights set out below. We have built the app so that most of them are exercised by you directly, without asking anyone's permission.


Controller. Kirolabs is the data controller for the anonymous analytics and crash data described in sections 3.1 and 3.2, and for anything you send to the support address.


Legal basis. The legal basis for analytics and crash reporting is your consent, which you give through the privacy toggle and which you can withdraw at any time by switching that toggle off. Withdrawal takes effect immediately and does not affect the lawfulness of what was collected beforehand. The legal basis for Remote Config is our legitimate interest in keeping the app working safely and in protecting your saved work from a defective release; no personal data is sent to it. The legal basis for handling a support email is our legitimate interest in answering you.


Access and portability. Use the free Export local data function in Settings. It produces a complete copy of everything the app holds about you, in a portable file, immediately and at no cost. We cannot provide a copy ourselves, because we do not hold one.


Erasure. Delete the app, and everything goes with it. To clear selectively, use Clear history or Clear projects in Settings. For analytics and crash data, switch the privacy toggle off and write to us at the support address if you also want previously collected records purged.


Objection and restriction. Switch the privacy toggle off. That stops all optional collection.


Rectification. You can edit or delete any project, note or preset in the app at any time.


Complaint. You may lodge a complaint with your local data protection supervisory authority.




6. Retention


Data on your device is kept until you delete it, either item by item, through Clear history or Clear projects, or by uninstalling the app. Nothing expires on its own.


Firebase Analytics data is retained for 14 months and then deleted automatically.


Crashlytics data is retained for 90 days and then deleted automatically.


Purchase records held by RevenueCat and by the stores are kept for as long as needed to honour your entitlement and to meet the stores' own accounting and tax obligations.


Support emails are kept only as long as needed to resolve your issue and to keep a short record of it, and are deleted on request.




7. Security


Your data sits in the app's private sandbox, which the operating system isolates from other apps. On a device with a screen lock, that storage is protected by the platform's own encryption.


The most important security property of this app is architectural rather than technical: no Kirolabs server holds a copy of anyone's work, so there is nothing of yours for anyone to breach. A compromise of our systems could not expose your projects, your client names, your site locations or your calculations, because we have never had them. The only copy is the one on your device, and the only way to lose it is to lose or wipe the device, which is why the export function exists.


No method of electronic storage is perfectly secure, and we do not claim otherwise. We do claim that the surface area here is unusually small.




8. Changes to this policy


If we change this policy we will update the date at the top and, where the change is significant, tell you in the app before it takes effect. Continuing to use the app after that point means the revised policy applies.


One commitment will not change. Kirolabs will never start transmitting your calculation inputs, your results, or the contents of your projects, including project names, client names, site names, locations and notes, off your device. That is not a setting we intend to add later or a feature we are keeping in reserve. If a future version of this app ever needed to send that class of data anywhere, for any reason, it would not be this app.




9. Contact


Questions about this policy, about your data, or about anything else in the app:


labskiro@gmail.com


Kirolabs