DUCTLANE
Privacy Policy.
1. Who we are
Ductlane is a mobile application published by CodeEnsis Ltd. ("we", "our", "us"), Χριστόδουλου Σώζου 2, EIFFEL TOWER, Floor 3, Flat/Office 301, 1096 Λευκωσία, Κύπρος. The app sizes HVAC ducts: round, rectangular, flat-oval and flex duct by friction rate or velocity, the friction rate available from the fan, and whole-house trunk-and-branch jobs. This policy explains what data the app handles and your rights under the EU General Data Protection Regulation ("GDPR").
2. Data stored on your device
Everything you enter - airflows, friction rates, velocities, duct shapes and materials, fan and component pressures, lengths, job and room names, your sizing history, and your preferences (units, velocity limits, theme, language) - is stored only on your device, in a local database. It is not transmitted to us and we have no ability to access it. We operate no backend server and no user accounts for Ductlane.
3. Data we do not collect
We do not ask for your name, email address, phone number or postal address. Ductlane does not read your device location, camera, microphone, photos or contacts. The app contains no advertising SDK and does not use the advertising ID. We do not sell data - there is nothing to sell.
4. Anonymous statistics - off unless you switch them on
Ductlane can send anonymous usage and crash statistics through Google Firebase Analytics and Firebase Crashlytics. This is switched off by default. Nothing is sent until you turn on "Share anonymous usage" in Settings, and turning it off again stops collection at the source - the Firebase SDKs themselves are disabled, not just our own events.
- What is sent when it is on: anonymous event names and counters (for example "a first size was calculated", "the duct shape was changed", "the airflow or friction slider was moved", "the fan calculator was opened or applied", "a noise colour was shown", "a job was created, saved or deleted", "a room was added", "a PDF export started or failed", "the paywall was opened"), coarse labels such as the duct shape, the noise colour, the duct material, the units, the velocity-limit preset, language, theme and whether Pro is active, small counts such as the number of jobs or rooms, plus a randomly generated app-install identifier, device model, OS version and app version. Crash reports additionally include a stack trace.
- What is never sent: your airflows, pressures, lengths and duct sizes, your job and room names, your sizing history and your PDF exports.
- Changing your mind: Settings → "Share anonymous usage" works both ways, at any time. Uninstalling the app also stops all collection immediately. To have statistics already sent for your installation deleted, write to us at the address in section 15.
See the Firebase Privacy and Security documentation and the Google Privacy Policy.
5. Purchases
If you buy Ductlane Pro, the purchase is processed by Google Play billing and validated through RevenueCat, which we use to check and restore entitlements. An anonymous, randomly generated app-user identifier (the same random identifier mentioned in section 4) and your receipt data are processed for that purpose. We never receive your name, email or payment card details; payment is handled entirely by Google. See the RevenueCat Privacy Policy and the Google Privacy Policy.
6. PDF exports and sharing
PDF exports (a Pro feature) are generated on your device. If you share or print one, your device's standard share sheet sends it to the app, contact or printer you select. We are not involved in that transfer and never receive a copy. A PDF contains whatever you put in the job, including job and room names.
7. Links and network access
The app's fonts and icons are bundled inside the app and every calculation runs on your device. Apart from the statistics in section 4 (only when switched on) and the purchase checks in section 5, Ductlane makes network requests only when you deliberately open a link: this policy and the Terms open inside the app, and "Contact support" opens your email app. We receive nothing from these pages.
8. Permissions
Ductlane requests no sensitive device permissions. It uses internet access only for the purposes in sections 4, 5 and 7. Exporting, printing and sharing use your operating system's built-in dialogs, at your request.
9. In-app review
The app may occasionally ask, never before you have got value from it, whether you would like to leave a store review. The prompt and any review you write are handled by Google, not by us.
10. Data retention and deletion
Because your data lives on your device, you control it. Deleting a job removes it immediately; uninstalling the app removes all Ductlane data from the device. Purchase records held by Google and RevenueCat are governed by their policies - to request deletion of purchase or statistics data, contact us and we will assist.
11. Children
Ductlane is a tool for adults working on heating, ventilation and air-conditioning systems and is not directed to children under 13 (or under 16 in the EEA). We do not knowingly collect data from children.
12. Legal basis (GDPR) and your rights
We hold no personal data on any server, so most data-subject rights are satisfied directly on your device, where you can view, edit and delete everything. For purchase data processed via Google Play and RevenueCat, the legal basis is performance of a contract under Art. 6(1)(b) GDPR. Anonymous statistics are sent only with your consent under Art. 6(1)(a) GDPR, which you can withdraw at any time with the same switch in Settings. You may contact us to exercise rights of access, rectification, erasure, restriction, portability or objection, and you may lodge a complaint with your local data protection authority.
13. Security
Your data is protected by your device's own security (lock screen, encryption). We recommend keeping your device secured and backed up.
14. Changes to this policy
We may update this policy as Ductlane evolves. Material changes will be reflected here with a new "Effective" date above.
15. Contact
Privacy questions or requests: [email protected]. General support: [email protected]. A human reads every message.