Privacy Policy for Dyced
This Privacy Policy explains how Ghulam Ali (“we,” “us,” or “our”), the individual developer of the mobile application Dyced (the “App”), collects, uses, shares, and protects your information when you use the App. By downloading, installing, or using Dyced, you agree to the practices described below.
If you have any questions about this Policy or your data, contact us at dyced.trips@gmail.com.
1. Who we are
Dyced is a travel and expense tracking application that lets you record expenses (including by voice), scan receipts, organize trips, view itineraries on a map, and optionally share trips and expenses with people you invite. The App is published by Ghulam Ali as an individual developer.
2. Information we collect
We collect only the information necessary to operate the App, secure your account, and provide the features you use.
2.1 Information you provide
- Account information. When you sign in, we receive your name, email address, and a unique user identifier from Sign in with Apple. We also save the profile photo and profile details you choose to add.
- Payment usernames. We save Venmo, Cash App and PayPal usernames and the preferred payment service you choose to add so people you share expenses with can pay you. These are separate from the credentials used to connect a bank.
- Expense and trip content. Expense amounts, currencies, categories, dates, merchant names, notes, trip names, itinerary entries, locations you add to a trip, trip memberships and friends, and any other content you create in the App.
- Receipts and images. Photos of receipts you capture with the camera or upload from your photo library, and images you attach to expenses.
- Shared trip album (photos and videos). Photos and videos you add to a trip's shared album, together with the information the album needs to organize them: when each was taken, the exact capture coordinates (latitude and longitude) recorded by your camera, file and image details, and the face groupings and person names used to sort the album by who is in each photo. Faces are detected and matched on your device; only the resulting groupings and any names you assign are shared with the trip. Photos and videos are shared with the other members of that trip as your camera recorded them, including any location metadata carried inside the file — the same as sending someone the original photo directly. The capture coordinate is also stored as a separate field that powers the trip's itinerary map and recap, and it is never displayed in the album grid. Shared albums are stored in one trip member's personal iCloud. Access after leaving or removal depends on the album's sharing mode and Apple's share state, as explained in Section 4.
- Voice input. Audio captured for voice-based expense entry and the transcribed text. Audio is processed using Apple's on-device or Apple-provided speech recognition (see Section 4).
- Linked email mailbox (optional). If you choose to connect a mailbox for expense and booking import, we collect the email address, the IMAP server settings, and an app-specific password you generate with your mail provider, plus the contents of the messages the App reads from that mailbox — sender, subject, date, and message body. See Section 4.2.
- Bank and card connections (optional). If you connect a bank or card account through Plaid, we receive details and transactions of the accounts you choose to share. See Section 4.3.
- Communications with us. Information you choose to send by email or through in-app support. For in-app requests, we store your account identifier, the selected category, your message, request times, status and any support reply. If you choose to link a Wrapped purchase, we also store its purchase reference. The developer uses this information to review and respond to your request in a restricted support inbox (Section 4.4). In versions with My Requests, you can see your request status and reply in the app. Keep passwords, payment-card details, bank records and private trip documents out of your message. The form sends the information you submit and the account details listed here.
2.2 Information collected automatically
- Device and diagnostic data. Device model, operating system version, app version, language and region, installation and device identifiers, crash and error reports, launch and hang timing, memory and processor use, and sync or upload diagnostics. These records can be associated with your signed-in account so we can investigate problems affecting your devices.
- Push notification token. An Apple Push Notification service (APNs) / Firebase Cloud Messaging token assigned to your device so we can send notifications you have enabled.
- Activity and feature use. App activity timestamps and feature-use counts help show recent activity, understand which features are used, and measure reliability. Record creation, modification and sync times also let us order and reconcile data across devices.
- App Store purchases. The product, transaction reference and purchase status supplied by Apple let us verify Dyced Pro and, in versions that support them, one-trip Wrapped purchases. We link access to your Dyced account. In versions with account-linked purchase recovery, we may also supply Apple with an account-specific identifier when you make a purchase. This identifier does not contain your email address or payment details. For one-trip Wrapped, we keep the account's credit balance, trip unlocks and the purchase records needed to deliver credits, check refunds and recover interrupted purchases. The app keeps bounded account-specific recovery hints, such as request and intent references; those hints do not contain raw signed transaction proofs. During Sandbox purchase testing and App Review, we send Apple-signed app metadata and device-verification information to our Firebase server for in-memory verification. We do not receive your App Store payment card details.
2.3 Information you grant permission for
The App requests these system permissions only at the moment a feature needs them. You can change or revoke any of these at any time in iOS Settings → Privacy & Security.
| Permission | Used for |
|---|---|
| Camera | Scanning and photographing receipts, and scanning travel documents such as a boarding pass to attach to a trip plan. |
| Microphone | Voice-based expense entry. |
| Speech recognition | Converting voice input to expense text. |
| Photo Library (add) | Saving a receipt image, a Trip Wrapped scene or a Wrapped video to your library when you choose to save it. |
| Photo Library (read) | Finding photos and videos taken during your trip so you can choose what to add to its shared album, and attaching a receipt image from your library. If you enable automatic photo addition for a trip, the App can also select and add matching photos under that setting. You can turn automatic addition off in Trip Memories settings. |
| Location (When In Use) | Estimating live travel time to your next stop while viewing a trip itinerary map. Your device's live location is used only while the map is open — it is not stored on our servers or shared. This is separate from the capture coordinates already recorded in photos you add to a shared album, which are stored with those photos (Section 2.1). |
| Location (Always) — Arrival alerts, opt-in | Only if you turn on Arrival alerts in the App's Settings. iOS then tells the App when your phone reaches a plan you added arrival notes to (for example a hotel's door code) so those notes can be shown as you arrive, even while the App is closed. The App registers only the itinerary places that have arrival notes, is told only that you arrived at or left one of them, and never records, stores, or shares your location — nothing about where you are leaves your phone, and the other members of your trip are not told. Turn it off at any time in the App's Settings or in iOS Settings. |
| Notifications | Delivering reminders and updates about trips you share with other people. |
We do not access your device's address book, calendars, or health data. The friends and trip memberships you create within Dyced are saved to provide its sharing features. Background location is used only for Arrival alerts, only when you have turned them on, and only as described above.
3. How we use your information
We use the information described above only to:
- Authenticate you and keep your account secure.
- Sync your expenses, trips, and receipts across your devices and with people you have explicitly shared them with.
- Provide the App's features (voice entry, OCR/receipt capture, itinerary mapping, group expense splitting, notifications, etc.).
- Provide AI-powered features you invoke — such as extracting line items from receipts, suggesting categories, generating trip insights and recaps, and answering questions about your trip (see Section 4.1).
- Find expense and booking confirmation emails in a mailbox you have connected, and turn them into drafts for you to review (see Section 4.2). We do not use your email for any other purpose.
- Import transactions from a bank or card you have connected, match them to your expenses, and remind you about charges from a trip that aren't recorded yet (see Section 4.3). We do not use your bank data for any other purpose.
- Diagnose crashes, fix bugs, and understand aggregate app activity and feature use.
- Prevent fraud, abuse, and violations of our terms.
- Respond to your support requests and legal obligations.
We do not use your information for advertising, do not sell your information, and do not use it to build profiles for marketing.
4. How information is processed and stored
The App uses Google Firebase (provided by Google LLC) as its backend infrastructure. Specifically:
- Firebase Authentication verifies your identity.
- Cloud Firestore stores your expenses, trips, and friend connections, the bank accounts and transactions of any bank you connect (readable only by you — Section 4.3), and your in-app preferences — such as per-trip album settings, favorite photos, your default currency and your Directions app — so they follow your account to your other devices. Only you can read your preferences.
- Firebase Storage stores receipt images and other attachments.
- Cloud Functions for Firebase runs server-side logic such as invitations, notifications, and AI requests. (Currency conversion is not done here — your device fetches published reference rates directly from the providers listed in Section 11.)
- Firebase Cloud Messaging delivers push notifications.
Data is stored on Google Cloud infrastructure and is protected in transit (TLS) and at rest using industry-standard encryption. Access to your data is controlled by per-user security rules so that only you and people you have explicitly shared trips or groups with can read it.
Shared trip albums are stored differently — in a trip member's own iCloud, not on our servers. A trip's shared photo album lives in Apple iCloud (CloudKit), in the personal iCloud account of the member chosen as that album's host, and is shared with the rest of the trip through Apple's sharing mechanism. This means:
- The album's photos, videos, capture coordinates, face groupings and person names are stored in the host member's iCloud account and count against their iCloud storage — not ours. We never receive or store these files.
- Everyone on the trip can read and add to the album, including anyone who joins the trip later. Members can also hide photos from the album; permanently deleting an individual photo is done by whoever added it, and the host can delete the entire album.
- The App tells you who hosts an album (Memories Settings → Album), and the host can move an album to another member or delete it.
- Album access after leaving or removal. Apple's sharing mechanism is separate from the trip's membership list. If you leave a trip yourself, the App also leaves its shared album. For a protected private album, loss of trip membership retires your album access grant, and the host's app removes your Apple sharing access when it can reconnect and complete cleanup. This is not instantaneous and can be delayed while the host is offline. For an older shared album, removal from the trip can leave you in Apple's share until the host removes you or deletes the album. Removing access does not retract files you already saved.
- Because the album is not on our infrastructure, the retention timelines in Section 6 do not apply to it — deleting your Dyced account does not by itself remove content you added to someone else's hosted album. See Section 6.
- Apple's privacy policy and iCloud terms govern data held in iCloud (Section 11).
Place names and time zones are resolved through Apple Maps. To show a photo at the time it was actually taken where it was taken, and to label a place on the trip map and recap, the App sends the coordinate — rounded to roughly a 5 km cell, never the photo itself and never an account identifier — to Apple’s geocoding service and keeps the returned time zone, town and country in a cache on your device. Because the request is made by your device, your IP address is visible to Apple. Each cell is looked up once and reused, including across trips.
Voice and speech recognition is performed using Apple's on-device or Apple-hosted Speech framework. Raw audio is not sent to our servers; only the transcribed text you confirm becomes part of your expense record.
4.1 AI-powered features
Some features use artificial intelligence to help you — for example, extracting line items from a scanned receipt, suggesting expense categories, generating trip insights and end-of-trip recaps, and answering questions about your trip.
- On-device first. Where your device supports it, this processing happens on your device using Apple's built-in intelligence and machine-learning frameworks, and no expense content leaves your device for those features.
- Cloud processing for advanced (Pro) features. In Dyced 13.5 (build 3) and later, Dyced asks for your permission before using cloud AI and provides a switch in Settings → Privacy & Storage. Earlier versions may use cloud AI without this separate prompt or switch; update when this release is available to you. Turning the switch off prevents new cloud AI requests; it cannot recall content already sent for processing. On-device tools and basic receipt scans remain available. For certain advanced features — primarily those in Dyced Pro — the specific content needed for the task is sent over an encrypted connection to our AI processing provider, Anthropic, PBC, through our Cloud Functions, and the result is returned to you. This can include receipt text, selected booking emails and booking images or PDFs, your question, and the relevant trip details needed to answer it. We send only the content needed for the feature.
- Provider use and retention. Content processed through the Anthropic API is not used to train AI models. Under its standard API terms, Anthropic normally deletes inputs and outputs within 30 days, with exceptions for misuse investigations, legal obligations or a separately agreed retention arrangement. See Anthropic's API retention explanation.
- Recovering interrupted cloud requests. Versions with request recovery temporarily keep the processed result privately on our server so your device can recover it without repeating the AI call. It is available for recovery for 15 minutes; an hourly cleanup removes expired results. Cleanup delays can extend physical retention. We also keep the request identifier, a fingerprint of its input, and processing status for up to 48 hours before cleanup to recognize retries. Original input files and full request bodies are not stored in these recovery records. Deleting your account removes its recovery records. Aggregate cost totals and short-lived execution receipts without account identifiers can remain for service accounting.
- Saved results. Receipt and booking suggestions are shown for your review before becoming expense or itinerary records. Your Ask conversations and generated Trip Stories are saved privately to your account and synchronized between your devices so you can return to them. In Dyced 13.5 (build 3) and later, changes waiting to sync can stay in protected storage on this device after sign-out and are restored only for the same account. Clearing an Ask conversation removes its pending questions and answers; leaving the trip or deleting your account also removes the corresponding pending work.
4.2 Connecting an email mailbox (optional)
Dyced can read a mailbox you connect in order to find expense and booking confirmation emails and turn them into draft expenses or itinerary plans. This feature is off unless you set it up, and you can disconnect at any time from the Connections screen in the App.
- How we connect. Your device connects directly to your mail provider over IMAP (Gmail, Outlook / Hotmail, Yahoo Mail, iCloud Mail, AOL Mail, or a custom IMAP server). We do not use your main account password: you generate an app-specific password with your provider and give it to the App.
- Where the credential is stored. The app-specific password is stored in the iOS Keychain on your device only. It is never uploaded to our servers, never written to Firestore, and we cannot read it.
- What we read. The App searches your mailbox for messages matching known bank, card, airline, hotel, and booking senders, and reads the sender, subject, date, and body of those messages. It does not read your whole mailbox into our systems.
- What leaves your device. Message content is processed on your device to identify amounts, merchants, dates, and booking details. For AI-assisted booking import, the text of the specific emails you asked to import is sent to Anthropic for parsing as described in Section 4.1. Whole mailboxes are never uploaded.
- What we keep. The drafts and the records you choose to publish — an expense, or an itinerary plan — are saved to your account. Drafts stay on your device until you publish them, apart from the temporary processed result used for interrupted-request recovery described in Section 4.1. We do not retain copies of your original emails on our servers.
- Disconnecting. Removing the connection deletes the stored credential from your Keychain. You should also revoke the app-specific password with your mail provider.
4.3 Connecting a bank or card (optional)
Dyced can import the transactions of a bank or card account you connect, so card charges can become expenses and a trip can be checked against what your cards were charged. This feature is off unless you connect a bank. When available to your account, you can connect or disconnect at any time from the Connections screen in the App.
- How we connect. Connections are made through Plaid Inc. You choose your bank and sign in inside Plaid's own screens or on your bank's website. Dyced never sees or stores your bank username or password. Plaid gives our servers an access token for the accounts you chose to share; it is encrypted, kept only on our servers, and never sent to your device.
- What we receive. For each account you share: its name, type, the last 4 digits of its number, and its balances. For its transactions — up to 24 months of history, then new ones as they post — the amount and currency, the posted date and (when the bank provides it) the purchase date, whether it is pending, the merchant or description, a category, the merchant's location when available, the card's last 4 digits when the bank reports them, and similar details. This covers all of the account's activity — deposits, payments and transfers as well as purchases — because Plaid provides an account's transactions as a whole.
- Who can see it. Your bank connections, account records, full transaction history and balances are stored in your account in Cloud Firestore and only you can read them. Other trip members can see a “Verified by card” check on a shared expense. If you enable Share purchase details in Connections, linked shared expenses also show a limited summary: card name and last four digits, merchant, charge amount and currency when wholly attributable to that expense, purchase date/time and timezone when proved, an email source icon when applicable, and posting date. This does not share your email, balances or unrelated transactions, and never shares personal expenses. You can turn purchase sharing off or unlink a charge to remove the shared summary.
- How we use it. To show your card activity, add charges as expenses when you ask, match charges to expenses you already logged (including ones imported from email alerts), check a trip against your cards, and remind you in the evening about charges from a trip that aren't in Dyced yet. Your private bank account records, balances, raw transaction feed and credentials are not sent to AI providers. Charges you choose to save as expenses become expense records and may be included in relevant trip AI requests, as described in Section 4.1. Bank data is not used for advertising, not sold, and not used to make credit or eligibility decisions.
- Disconnecting and deletion. Disconnecting stops new transactions; you choose whether to keep the history already imported or delete it too. Deleting your Dyced account removes the connection at Plaid and deletes all bank data we hold (Section 6). You can also review or revoke Dyced's access through Plaid's portal at my.plaid.com.
- Plaid's role. How Plaid handles the information it collects when you connect is governed by the Plaid End User Privacy Policy.
4.4 Operational and administrative access
To keep the App running, provide support, and prevent abuse, a restricted internal administrative tool lets the developer view supported records stored by Dyced. These include profiles and saved photos, payment usernames, friends and invitations, shared and personal expenses, settlements, trip plans, receipt and travel-document attachments, saved album sharing links, subscription status, activity and error reports. This access does not make personal records visible to other trip members. Shared album photos and videos remain in the host's iCloud; the tool shows saved album information and sharing links rather than browsing the album's contents.
Access is limited to the developer, requires authentication, and administrative actions are logged. Bank connection views show only approved operational information such as the bank's name, connection status and last sync, never private bank account records or raw transaction history. The tool does not expose bank or mailbox credentials. We access an individual account's content only when necessary to provide support you have requested, to investigate abuse or a security issue, or to comply with a legal obligation. Account deletion and retained shared history follow Section 6.
5. Sharing your information
We share your information only in these limited cases:
- People you choose. When you add a co-traveler to a trip, or share a quick expense with someone, the content you intentionally share becomes visible to those people through the App. If the trip has a shared photo album, everything you add to it — photos, videos, their capture coordinates, and face/person names — is readable by everyone on that trip and is stored in the album host's personal iCloud (Section 4).
- Service providers. We use Google (Firebase / Google Cloud), Apple (Sign in with Apple, App Store purchases, Maps, APNs, Speech, and iCloud / CloudKit), Anthropic, PBC (cloud AI — Section 4.1), and Plaid Inc. (only if you connect a bank or card — Section 4.3) to provide the features described in this Policy. These services receive information needed for the features you use. Each provider's role and its processing, security, use and retention of information depend on the service, its applicable terms and legal requirements. The provider privacy policies linked in Section 11 also apply.
- Legal requirements. We may disclose information if required by law, subpoena, or other valid legal process, or to protect the rights, property, or safety of users or the public.
- Business transfer. If the App is ever transferred to another developer or entity, your data may be transferred as part of that transaction. You will be notified in advance and given the option to delete your account before any transfer takes effect.
We do not sell or rent your personal information to third parties, and we do not share it for cross-context behavioral advertising.
6. Data retention
We retain your information for as long as your account is active. When you delete your account (see Section 8), your personal data, expenses, trips, and receipts are deleted from our active systems within 30 days, and from encrypted backups within 90 days. We may retain a minimal record (e.g., the fact that an account with your user ID existed) where required by law or to prevent abuse.
Content you have shared with other users (e.g., a group expense visible to a co-traveler) may remain visible to them after your deletion, in the same way an email you sent remains in the recipient's inbox.
Your name on shared trips. Expenses and settlements on a shared trip are attributed to the person who paid or owes. If we removed your name from those records when you delete your account, every other member's balance history would become unreadable — and two departed members would become indistinguishable from each other. So on trips you shared with other people, your display name is kept and marked, for example “Alex (former member)”, and your profile photo is removed. This applies only to trips you were a member of; your name is deleted everywhere else. If you need your name removed from a shared trip as well, contact us at the address in Section 14 and we will handle it individually.
Bank connections. Transactions imported from a bank are kept while it is connected, and after you disconnect only if you choose to keep the history. Deleting the history, or your account, deletes them along with your private links between charges and expenses, and deleting your account also removes the connection at Plaid. Plaid's own retention is governed by its End User Privacy Policy (Section 11).
Shared trip albums (iCloud). These timelines cover our systems only. Album photos and videos are held in the host member's iCloud (Section 4), which we cannot reach: deleting your account does not delete content you added to an album someone else hosts. To remove it, delete the items in the album before you leave or delete your account, or ask the host — the host can delete the whole album (Settings → Albums You Host), which removes it for everyone. Content you add to an album you host is deleted with the album when you delete it, and remains in your iCloud until then.
One-trip Wrapped purchases, where supported. Deleting your Dyced account removes its private wallet, trip-unlock projections and pending purchase intents. It removes access to unused credits and trip unlocks, but does not itself cancel an Apple subscription or refund a purchase. We may retain the minimal transaction and anti-replay records needed for refund reconciliation, fraud prevention or legal obligations under the exception above. These records are not raw signed transaction proofs. Files you already exported to your photo library are not deleted by Dyced account deletion. In-app purchase-help inquiries and their account association follow the account-deletion timeline above.
7. Children
Dyced is not directed to children under 13 (or the equivalent minimum age in your jurisdiction), and we do not knowingly collect personal information from them. If you believe a child has provided us with personal information, contact us at dyced.trips@gmail.com and we will delete it.
8. Your rights and choices
Regardless of where you live, you can:
- Access your data — most of it is visible directly in the App.
- Correct your data — by editing it in the App.
- Export your data — contact us at dyced.trips@gmail.com.
- Delete your account and all associated data — open the App and go to Settings → Danger Zone → Delete Account, or email dyced.trips@gmail.com. Account deletion is permanent and follows the retention timeline in Section 6.
- Revoke permissions — at any time in iOS Settings → Privacy & Security, or Settings → Notifications.
8.1 Residents of the European Economic Area, United Kingdom, and Switzerland (GDPR / UK GDPR)
You also have the right to (a) restrict or object to processing, (b) data portability, (c) withdraw consent at any time, and (d) lodge a complaint with your local data protection authority. Our legal bases for processing are: performance of a contract (providing the App's features you requested), legitimate interests (security, fraud prevention, diagnostics), consent (camera, microphone, location, notifications), and legal obligations.
8.2 Residents of California (CCPA / CPRA)
In the past 12 months we have collected the categories of personal information described in Section 2 for the purposes described in Section 3. We have not sold or shared personal information for cross-context behavioral advertising, and we do not knowingly collect personal information from minors under 16. You have the right to know, delete, correct, and limit the use of sensitive personal information, and the right not to be discriminated against for exercising these rights. To exercise them, contact dyced.trips@gmail.com.
8.3 Other regions
Residents of other jurisdictions (including Canada, Brazil, and Australia) have substantially similar rights and may contact us using the same email.
9. International data transfers
Firebase and Google Cloud may process data in countries other than your own, including the United States. Where required, transfers rely on appropriate safeguards such as the European Commission's Standard Contractual Clauses and Google's data-processing terms.
10. Security
We use TLS for data in transit, encryption at rest on Google Cloud, per-user Firestore and Storage security rules, and authentication tokens scoped to the signed-in user. No system is perfectly secure; if we become aware of a breach that affects your data, we will notify you and the appropriate authorities as required by law.
11. Third-party services
The App relies on the following third-party services. Their privacy policies govern their handling of your data:
- Apple — Sign in with Apple, Push Notifications, Speech Recognition, Apple Maps geocoding (Section 4), and iCloud / CloudKit, which stores shared trip albums in the host member's own iCloud account (Section 4): apple.com/legal/privacy
- Google (Firebase / Google Cloud) — Authentication, database, storage, functions, messaging: firebase.google.com/support/privacy and policies.google.com/privacy
- Anthropic, PBC — AI processing for certain in-app features (primarily Dyced Pro): anthropic.com/legal/privacy
- Plaid Inc. — bank and card connections, only if you connect one (Section 4.3). Plaid End User Privacy Policy: plaid.com/legal; manage connections at my.plaid.com
- Exchange-rate providers — when the App converts a foreign-currency expense it requests published reference rates directly from your device from open.er-api.com (exchangerate-api.com) and api.frankfurter.app (frankfurter.dev). Only the currency codes are sent — never an amount, an expense, or an account identifier — but because the request is made by your device, your IP address is visible to those services.
- aviationstack receives the flight number for a live lookup, or the airline, departure airport and date for a future schedule lookup. Dyced sends these requests from its server and keeps your account identifier within Dyced. Aviationstack privacy information.
- Your email provider (only if you connect a mailbox — Gmail, Outlook / Hotmail, Yahoo Mail, iCloud Mail, AOL Mail, or a custom IMAP server) — your device connects to it directly over IMAP using an app-specific password held in your device Keychain. We are not a party to that connection and never receive your mail credential; your provider's own privacy policy governs your mailbox.
12. Tracking
Dyced does not track you across apps or websites owned by other companies, and does not use the iOS Advertising Identifier (IDFA). The App's NSPrivacyTracking flag is set to false.
13. Changes to this Policy
We may update this Policy from time to time. When we do, we will revise the "Last updated" date above and, for material changes, notify you in the App or by email before the change takes effect. Your continued use of the App after the change becomes effective constitutes acceptance of the updated Policy.
14. Contact
If you have questions, requests, or complaints regarding this Policy or your personal data, contact:
Ghulam Ali
Email: dyced.trips@gmail.com
We will respond within 30 days, or sooner where required by law.