Carpenter performs calculator operations on your device. We also process account identifiers, purchase and subscription records, app interactions and diagnostics to provide the service, understand its use and improve reliability. We use Firebase, Adapty and the other service providers described below. In the current configuration, we do not use this information to track you across other companies’ apps or websites for advertising, or share it with data brokers.
1. Who we are
Controller: Shapkin Dev (Oleg Shapkin, IE)
Address: 10th Street, No. 2, Tsikhisdziri Village, Kobuleti Municipality, 6200, Georgia
Email: [email protected]
2. Summary
- Calculations: calculator inputs and results are processed locally. App interaction events and selected preferences, such as language and units, are also sent to our services.
- Identity: Firebase creates a persistent anonymous account identifier. No name, email or phone number is required for this account, but records associated with its identifier are not anonymous data.
- Purchases: Apple handles billing. We and Adapty process transaction and subscription information; we do not receive your payment-card details.
- Analytics and reliability: Firebase Analytics, Crashlytics, Adapty and our backend process usage, diagnostic and Apple Ads attribution data for the purposes described below.
- Voluntary product feedback: if you choose to submit a structured response or free-form comment, we link it to a technical account identifier and relevant subscription and app-usage context to understand and improve the product.
- Support: our backend stores support messages and app context. Support prompts and read-state records may be created before you send a message. OpenAI processes relevant conversation content and context when providing an AI-assisted reply.
3. Data we process
- Local calculations and preferences: calculator inputs and results are processed on-device. We do not automatically upload all calculator inputs or generated files. Language, unit preferences and interaction metadata can be transmitted; information you include in a support message is processed as message content.
- Account and installation identifiers: we process the Firebase anonymous user ID, app installation and messaging identifiers, and Adapty profile identifiers. A stable purchase alias is associated with the Firebase account and can be included in an Apple transaction. These identifiers can link records across our services without requiring your name or email.
- Purchases and subscriptions: we receive and retain signed Apple App Store Server Notifications and transaction evidence from the app, including subscription renewal information where supplied. Records may contain transaction and subscription-chain identifiers, product, purchase and expiry dates, price, currency, offers, refunds and subscription status. Signed source records are retained alongside normalized records. A purchase is linked to our account identifier when verified evidence supports that link; older transactions without the alias are not automatically assigned to the current account.
- Usage and diagnostics: Firebase Analytics, Crashlytics, Adapty and our backend process app launches, tool and paywall interactions, purchase/restore outcomes, support engagement, errors, crash reports and technical app/device information. Records can include the user ID, installation/session identifiers, app and OS versions, device model, language, timezone and selected preferences. Firebase collection is separate from Apple’s optional OS diagnostic-sharing setting.
- Apple Ads attribution and approximate location: our backend and Adapty process attribution for our Apple Ads campaigns. Apple may return campaign, ad group, keyword, ad, organization, country/region and conversion information. We retain attribution observations and may associate them with our user ID and purchase chain for analytics. Our backend uses the raw attribution token transiently for the Apple exchange; the response and verified app context are retained. Firebase and Adapty also process IP-derived approximate geography. This is not GPS collection.
- Voluntary product feedback: we process the selected feedback category and any optional free-form comment together with the technical Firebase user ID and relevant subscription, product and app-usage context. We use this information for product analytics and improvement.
- Support: we process message content, any contact information you choose to include, conversation history, language, app version, subscription status and relevant screen/tool context. Firebase/Firestore stores conversation, reply, read-state and operational records. OpenAI receives relevant messages and app context for AI-assisted support; its responses are stored with the conversation. A user ID is not explicitly included as a field in our OpenAI request, but identifying information may be present in message content. Human support may also handle messages through support inboxes, including the Telegram inbox described in this policy.
4. Purposes & legal bases
- Provide the app and features: local calculations, account identification, subscription verification and service operation. Legal basis: performance of a contract.
- Customer support: provide in-app support prompts, handle messages and replies, and maintain conversation and read state. Legal basis: performance of a contract / legitimate interests in responding to user requests.
- Crash diagnostics: investigate crashes, errors and service failures using the diagnostic data described above. Legal basis: legitimate interests in app reliability.
- Analytics: understand app usage, subscription performance, voluntary product feedback and the effectiveness of our Apple Ads campaigns, using the data described in this policy.
- In the current configuration, these flows are used for our app functionality and analytics, without cross-company advertising tracking or data-broker sharing.
5. Sharing & third parties
Service providers process the data needed for their roles below. Some services operate when you use the app, independently of optional support chat. Not every provider receives every category of data.
- Google/Firebase: anonymous authentication, backend storage, messaging, analytics and crash reporting.
- Apple: App Store billing, signed purchase/subscription notifications and Apple Ads attribution. Our backend receives the signed notifications and forwards them to Adapty for subscription processing and analytics.
- Adapty: subscription and paywall analytics, profile and installation data, Apple Ads attribution, and the configured subscription-event feeds to Firebase/Google Analytics and Adapty User Acquisition. In our current configuration, these feeds are used for analytics; external ad-platform matching and tracking links are not enabled for our use.
- OpenAI: relevant support conversation content and app context for AI-assisted replies.
- ipify: the Adapty SDK uses this service to obtain the public IP address used in its profile processing. The service receives the request’s network IP; our Firebase user ID is not sent as a parameter to this IP lookup.
- Human support channels: email and support inboxes, including Telegram where used to handle a support request.
Raw product-feedback text is stored in our Google/Firebase Firestore backend. It is not sent to Firebase Analytics, Adapty profile attributes, Crashlytics, OpenAI, the in-app Assistant or any other external AI provider.
In the current configuration, we do not use these flows for cross-company advertising tracking or data-broker sharing.
6. Retention
- Local data: app-container data normally remains until removed locally or the app is uninstalled. Some authentication information may remain in the device Keychain. Uninstalling the app is not a request to delete server-side records.
- Our server records: identity mappings, signed Apple evidence, purchase/subscription records, attribution observations, delivery records and support history currently have no automatic time-based expiry. They remain stored unless removed through a separate deletion process. We do not promise automatic deletion after a fixed number of days.
- Voluntary product feedback: raw free-form feedback text is scheduled for automatic deletion after approximately 180 days. Structured categorical feedback and associated subscription, lifecycle and app-usage facts may be retained longer for product analytics, trend analysis and service integrity.
- Analytics and service-provider copies: the current Google Analytics user/event retention setting is 14 months, with the retention period reset on new activity. This setting is not a deletion deadline for all reports, our backend records or other providers’ copies. Provider-specific retention and deletion processes apply separately.
- Deletion requests: contact [email protected] to request access to or deletion of relevant server-side records. We review the request, identify the records we can associate with you, and explain any applicable retention limitations. Requests concerning information held independently by Apple or another provider may need to be addressed to that provider.
7. Security
We use platform security for local storage and authenticated backend services for server-side processing. Our first-party endpoints verify Firebase authentication where required and verify signed Apple evidence before using it for purchase records. Access controls and service-provider safeguards help protect stored data, but no system can guarantee absolute security. For security reports, see security.txt.
8. Purchases & subscriptions
Carpenter may offer in-app purchases or auto-renewable subscriptions via Apple In-App Purchase. Billing, trials, renewals, refunds and cancellation are handled by Apple in Settings → Apple ID → Subscriptions. We do not store your card or payment details.
We and Adapty also process purchase and subscription metadata to verify status and maintain analytics. Our backend retains signed Apple notifications, app-provided transaction evidence and subscription records. When signed evidence contains the purchase alias associated with your Firebase account, we can link that transaction to the account. This processing does not give us your payment-card details.
9. Children
The app is intended for general audiences and does not knowingly collect personal data from children. If you believe a child provided us with personal data via support chat, contact us to delete it.
10. Your rights
Depending on applicable law, you may have rights to access, correct, delete, restrict or object to processing, and to data portability. Some calculation data is available only on your device; account, purchase, attribution, diagnostic, feedback and support records may also be held on our servers or by service providers. Contact [email protected] to exercise your rights. We may need information to locate the relevant records and verify the request without collecting unnecessary additional data. We will explain any applicable limitations and any separate provider process. Deleting the app does not itself delete these server records, and we cannot delete Apple-held billing records on Apple’s behalf. In the current configuration, we do not sell or share personal information for cross-context behavioral advertising.
11. International transfers
Depending on your location, backend, account, purchase, analytics, diagnostic, feedback and support data may be processed outside your country by the service providers described above. We use reputable infrastructure providers and apply appropriate safeguards where required.
12. Tracking & ATT
For the current release and service configuration, we use the described identifiers and events for app functionality and analytics, including measurement of our Apple Ads campaigns. We do not use these flows to link your data with data from other companies’ apps or websites for advertising targeting or measurement, or to share it with data brokers. The app therefore does not request App Tracking Transparency permission in this configuration. This does not mean that no identifiers are collected or that the data is unlinked. Before enabling a different advertising or attribution use, we will review the privacy disclosures and any consent requirements.
13. Changes
We may update this Policy from time to time. We will post the updated version here and update the effective date.
14. Contact
Email: [email protected]
15. Jurisdiction
This Policy is governed by the laws of Georgia. If required by your local law, additional rights may apply.