Legal
Last updated: June 25, 2026
ZW Studio LLC ("we," "us," or "our") respects your privacy. This Privacy Policy explains how our mobile apps handle information, including current products such as Coastful, IDFrame, Myredient, and Loomday.
We do not require accounts and do not operate a centralized database of personal data. Across our apps, ZW Studio LLC does not collect:
One important exception applies to analytics and advertising measurement: all of our apps use Google's analytics and ad-measurement tools (Google Analytics for Firebase and Google Ads) to understand how each app is used and to measure the effectiveness of the advertising we run to promote it. This involves anonymous app-usage data only — never your photos, financial records, scans, or dietary profile — and, for users in the European Economic Area, the United Kingdom, and Switzerland, is subject to a consent choice shown in the app. See Analytics and Advertising Measurement below for full details.
Some apps include optional features that transmit user-typed content (such as a dietary profile) to a third-party AI service on a per-request basis. These flows are disclosed in the per-app sections below.
To understand how our apps are used and to measure the effectiveness of advertising we run to promote them, all of our apps — Coastful, IDFrame, Myredient, Loomday, and Costfolio — use Google Analytics for Firebase. Coastful, IDFrame, Myredient, and Loomday additionally share conversion events with Google Ads; Costfolio does not currently run ads or share data with Google Ads. The information involved is limited to app-usage data — for example, which screens you open, which steps of a flow you reach, and whether a purchase or trial is started — together with a randomly generated app-instance identifier and standard device and usage information (app version, device model, operating system, language, and approximate location at the country/region level derived from your IP address). Google processes this data as our service provider, in accordance with Google's Privacy Policy and How Google uses information from apps that use its services, and retains it only for a limited period (by default, up to 14 months).
This measurement never includes the content you create in an app. Specifically:
If you are in the European Economic Area, the United Kingdom, or Switzerland, each app shows a consent choice the first time you open it, and analytics and advertising-measurement data is collected only in line with your choice. In IDFrame the choice is presented as the app's own consent sheet and can be reviewed or changed at any time from Settings → Allow analytics inside the app; IDFrame determines whether the prompt is required from your app-store country, on-device, without any location lookup. In our other apps the choice is provided by Google's User Messaging Platform and can be reviewed from the app's "Manage privacy choices" option. You can also limit advertising measurement at the device level — on iOS through the system Settings, and on Android through Settings → Privacy → Ads, where you can reset or delete your Advertising ID. In regions where consent is not required, this measurement is enabled by default to help us improve and promote our apps. For any privacy request, contact us at the email below.
Coastful is a FIRE (Financial Independence, Retire Early) calculator and personal net worth tracker. Financial records (assets, liabilities, mortgages, snapshots), FIRE assumptions, goals, and settings entered in the app are stored on the user's device. Coastful does not require users to create an account before using core functionality. The app does not connect to bank accounts, brokerages, or any financial data provider — users enter and update their own asset values. Optional biometric authentication (Face ID, Touch ID, or Android biometric prompt) can be enabled to gate access to the app on each launch; the authentication is handled entirely by the underlying platform and no biometric data is received by Coastful.
Like our other apps, Coastful uses Google Analytics for Firebase and Google Ads to measure usage and the effectiveness of advertising we run for it — see Analytics and Advertising Measurement above. Your financial records are never collected or included in analytics; only anonymous interaction events and standard device information. For users in the EEA, the UK, and Switzerland this is subject to the in-app consent choice described there.
Coastful Pro unlocks advanced FIRE planning features (custom return assumptions, Coast FIRE, and what-if scenarios). It is sold as an auto-renewing monthly subscription and a one-time lifetime purchase. Purchases and subscriptions are processed entirely by the platform store (Apple's App Store or Google Play); ZW Studio LLC does not receive your payment card details. The "Restore Purchases" action queries your platform store account to verify previous purchases; no store-account details are retained by us.
When you select an app currency different from your assets' currencies, Coastful fetches the day's reference exchange rates from api.frankfurter.dev — an open, MIT-licensed source based on the European Central Bank's published reference rates. These requests are anonymous and contain no user information, financial records, or device identifiers — only a generic request for the current rate table. Rates are cached on-device for up to 24 hours so the app works offline; no rate or user data is shared with any other party. You can disable this network call by leaving the app currency set to the same currency as your assets.
Coastful supports exporting and importing your own financial data as local files. These files are not encrypted by Coastful. Exports never leave your device unless you choose to share, save, or transfer the file through platform-provided services or your own storage. Imports are validated and processed on-device only.
IDFrame is a passport photo utility app. It requests access to the camera and photo library only so users can capture, import, and save passport photos. Image processing — including face detection, positioning, background removal, and print-sheet generation — runs entirely on-device. No photos or image data ever leave your device or are sent to our servers.
Recents (on-device history). Finished photos you save are also kept in a "Recents" history inside the app's private storage on your device, so you can re-download or print them again later. This history never leaves your device, is excluded from analytics, and can be deleted in the app at any time; it is removed entirely when you delete the app.
Like our other apps, IDFrame uses Google Analytics for Firebase and Google Ads to measure usage and the effectiveness of advertising we run for it — see Analytics and Advertising Measurement above. No photo, face, or biometric data is ever included in analytics; only anonymous interaction events. For users in the EEA, the UK, and Switzerland this is subject to the in-app consent choice described there, shown as IDFrame's own consent sheet and changeable at any time from Settings → Allow analytics.
Myredient is an ingredient intelligence app. Image capture, OCR, and matching against our curated regulatory database all run on-device. When you scan a barcode, only the product barcode number is sent to a public food database (such as Open Food Facts or USDA) — no personal information is included with that lookup.
Dietary preferences and scan history are stored on your device. Scan history is never transmitted off the device and can be cleared at any time from Settings → History → Clear scan history. Dietary preferences are also stored locally, but they are additionally transmitted with each AI request — both scan analysis and follow-up questions — for Pro subscribers who use the AI features. See "AI features" below.
Like our other apps, Myredient uses Google Analytics for Firebase and Google Ads to measure usage and the effectiveness of advertising we run for it — see Analytics and Advertising Measurement above. The photos you capture, your scan results and scan history, and your dietary profile are never included in analytics; only anonymous interaction events. For users in the EEA, the UK, and Switzerland this is subject to the in-app consent choice described there.
Pro subscribers can use two AI-powered features: a short plain-language summary on each scan, and a follow-up chat where you can ask free-text questions about a product you just scanned. Both are powered by Google Gemini through a Cloud Run proxy operated by ZW Studio LLC, which forwards the request to Google's Gemini API and returns the result.
Each request carries an app-wide authentication token; we do not attach a device identifier, user account, location, name, email, or scan-history context. The proxy does not retain ingredient text, questions, preferences, or results after the response is returned. Google's handling of the data it receives is governed by Google's API terms. You can stop using AI features at any time from Settings.
If a scan looks wrong, you can tap "Report this result" on a result screen to send it to us for review. This is an explicit, per-scan action — nothing is sent unless you choose to submit a report. When you do, we receive the scanned product's details (such as its barcode or name, the ingredient text, the parsed nutrition, the additives and flags that were shown, and the AI summary if one was generated), the optional note you write, and basic diagnostics about your app and device (app version, operating-system version, device model, app language, and which AI backend was used). Your dietary profile is never included in a report. Reports are stored by ZW Studio LLC using Google Cloud (Firestore) so we can investigate data-quality issues and improve the app; they are not used for advertising and are not tied to your identity. Each scan can be reported once.
Myredient Pro is sold as an auto-renewing subscription — monthly or annual — optionally with a free trial. Purchases and subscriptions are processed entirely by the App Store or Google Play; ZW Studio LLC does not receive your payment card details. The "Restore Purchase" action queries your store account to verify previous purchases; no store-account details are retained by us.
Saved follow-up conversations are stored on your device alongside the scan they belong to. You can clear a single conversation from within the follow-up chat, delete an individual scan (and its conversation) from your history, or clear all history from Settings.
Loomday is a birthday, anniversary, and special-day reminder and keepsake app. It is free, with no ads and no in-app purchases, and it does not require an account. The people, dates, notes, and settings you add are stored on your device. Loomday does not operate a cloud account or sync your data to our servers.
Photos and memories. Loomday lets you attach photos to the days you track. With your permission, it links to photos in your device's photo library by storing only a local reference (a pointer) to each one — the original photos stay in Photos, and Loomday does not copy, upload, or transmit your images. If you remove a photo from your library, it simply stops appearing in Loomday.
Contacts import. With your permission, Loomday can read your contacts so you can pick a person and import their birthday (including lunar birthdays) when creating a reminder. This happens entirely on your device; your contacts are not uploaded, and Loomday only stores the entries you choose to add.
Notifications. Reminders are delivered as local notifications scheduled on your device. No reminder content is sent to us or to any third party to deliver them.
Like our other apps, Loomday uses Google Analytics for Firebase and Google Ads to measure usage and the effectiveness of advertising we run for it — see Analytics and Advertising Measurement above. The people, dates, notes, photo links, and imported contacts in Loomday are never collected or included in analytics; only anonymous interaction events and standard device information. For users in the EEA, the UK, and Switzerland this is subject to the in-app consent choice described there.
Costfolio is a receipt and expense organizer for iPhone and Mac. It does not require an account. The receipts you add — photographs, PDFs, amounts, merchants, dates, notes, and categories — are read and stored on your device. Receipt text recognition (OCR) and categorization run locally; the contents of your receipts are never sent to our servers.
Optional iCloud sync (Pro). If you turn on iCloud sync, your receipts are synced across your own devices through your personal Apple iCloud account using Apple's CloudKit. That data lives in your private iCloud, governed by Apple's Privacy Policy; we have no access to it.
Analytics. Costfolio uses Google Analytics for Firebase to measure usage and improve the app — see Analytics and Advertising Measurement above for how that data is handled. Unlike our other apps, Costfolio does not run ads and does not share data with Google Ads, and it does not use Apple's advertising identifier (IDFA) or show the App Tracking Transparency prompt. The contents of your receipts are never included in analytics. For users in the European Economic Area, the United Kingdom, and Switzerland, analytics is off by default and is enabled only if you opt in — via a prompt on first launch and a toggle in Settings → Share anonymous analytics, which you can change at any time. Elsewhere it is on by default and can be reviewed in the app's settings.
Costfolio Pro (in-app purchase). Costfolio Pro is a one-time, non-consumable purchase (no subscription). Purchases are processed entirely by Apple's App Store; ZW Studio LLC does not receive your payment card details. The "Restore purchase" action queries your App Store account to verify previous purchases; no store-account details are retained by us.
Data created or used in our apps is generally stored locally on your device using standard mobile app storage and photo library access patterns. Data leaves your device only when you explicitly export, back up, or share it through platform-provided services or your own device settings.
If an app offers optional biometric protection such as Face ID or Touch ID, authentication is handled by the underlying platform frameworks. We do not receive, store, or transmit biometric data.
We do not display third-party advertisements inside our apps and do not sell data to data brokers. All of our apps use Google Analytics for Firebase and Google Ads for the analytics and advertising-measurement purposes described in the Analytics and Advertising Measurement section above; Google acts as our service provider for that data and processes it under Google's own terms and privacy policy. App distribution, payments, backups, and device-level services are provided by the platform store — Apple's App Store on iOS, or Google Play on Android — and are governed by Apple's or Google's own terms and privacy policies.
If an app offers in-app purchases or tips, payment processing is handled by the platform store — Apple's App Store on iOS, or Google Play on Android. ZW Studio LLC does not collect or store payment card details. When you tap "Restore Purchases," the app queries your store account to confirm previous purchases. We do not receive or retain your store account details.
Our apps are not directed to children under 13, and we do not knowingly collect personal information from children.
Our apps do not require accounts and do not collect personal data such as your name, email address, or financial records. They do use the analytics and advertising-measurement tools described above; for that data, users in the EEA, the UK, and Switzerland are asked for consent before it is collected and may change that choice or contact us to make a request. We do not "sell" or "share" personal information for cross-context behavioral advertising as those terms are defined under the California Consumer Privacy Act (CCPA). To make a request, or to ask about the data our apps share with Google, contact us at the email below; you can also exercise rights directly through Google's privacy controls.
We may update this Privacy Policy from time to time. When we do, we will revise the "Last updated" date on this page.
If you have questions about this Privacy Policy, please contact us at:
ZW Studio LLC
Email: privacy@zwstudiollc.com