Introduction
Welcome to Expenny ("we," "our," or "us"). This Privacy Policy explains how Vitalii Kikot collects, uses, discloses, and safeguards your information when you use our mobile application Expenny (the "App") and the related website and services.
By using the App, you agree to the collection and use of information in accordance with this policy. If you do not agree with the terms of this Privacy Policy, please do not access the App.
Information We Collect
Account Information You Provide
An Expenny account always belongs to an identity you sign in with. Depending on the method you choose, we store:
- Email address: provided when you register with email and a password, or supplied by Apple or Google when you use Sign in with Apple / Google. If you use Apple's Hide My Email, we only ever see the relay address Apple provides.
- Password: if you register with email and a password, we store only a cryptographic hash of that password — never the password itself.
- Provider identity: the identifier of the Apple or Google account you linked, so we can recognise you on your next sign-in.
- Name and profile avatar: optional, taken from a linked social account or edited by you. Your name is visible to other members of your family group.
- Preferences: your language, home currency, and the day your monthly cycle starts.
Expense and Category Data
- Expense titles, descriptions and comments (free-form text)
- Expense amounts, currencies and converted amounts
- Expense dates and the source type of each entry (text, audio or image)
- Line-item details: item names, quantities and prices
- Category names, descriptions, icons, colours and ordering
- Whether an expense is personal or shared with your family group
Family Data
- The family group you belong to, its name, and who owns it
- Membership records, and invite links you generate or accept (each invite has an expiry)
AI Processing Data
- The text, audio recordings and receipt images you submit for AI parsing, and the parsed result
- Usage records for each AI request — operation type, model, token counts and cost — which we use to enforce plan limits and to monitor our own service costs
Subscription Data
- Your RevenueCat subscriber identifier, subscription tier, plan, status, renewal and expiry dates, and platform
- Your family's AI usage count
Purchases themselves are processed by Apple. We never receive your payment card details.
Information Collected Automatically
- Push notifications: your Firebase Cloud Messaging device token, device platform, and the notification topics you are subscribed to (based on your language and subscription tier)
- Analytics: Firebase Analytics collects usage data such as screen views, app events and session duration, associated with your user ID
- Crash reporting: Firebase Crashlytics collects crash reports including device model, OS version, stack traces and your user ID
- Server logs and error reports: our servers record request metadata (such as timestamps, paths, response codes and IP address) and, where an error occurs, an error report that may include your user ID and a stack trace. Request bodies are not logged in production.
How We Use Your Information
- Provide core services: store and sync your expenses and categories, manage your family group, and convert currencies
- AI-powered features: parse text, audio and images into structured expenses using Google Gemini, and match items to your categories
- Manage subscriptions: process purchases through RevenueCat, enforce the free AI allowance, and unlock premium features for you and your family
- Keep accounts secure: verify email addresses, enable password resets, and detect and prevent abuse
- Improve the App: analyse usage patterns via Firebase Analytics and diagnose failures via Firebase Crashlytics and our server error monitoring
- Communicate: send transactional email (email verification, password reset) and push notifications about service announcements and updates. Push notifications can be disabled at any time in your device settings.
Family Sharing & Share Links
Two features deliberately make some of your data visible to other people. Both are under your control:
- Family groups: when you join a family, the expenses you mark as shared — including their items, amounts, categories and dates — become visible to every member of that family, alongside your display name and avatar. Expenses you keep personal are not shared. If you leave the family, your expenses leave with you and become personal again.
- Receipt share links: when you generate a share link for an expense, anyone holding that link can view that single receipt in a browser, without signing in. Share links are unguessable but public — treat them like a password, and only share them with people you intend to see the receipt.
Third-Party Data Sharing
We share your information with the following service providers:
Google Gemini (AI Processing)
- Data shared: the text, audio and images you submit for expense parsing, plus your category names and descriptions so items can be matched
- Purpose: to provide AI-powered expense recognition and categorisation
- Privacy policy: Google Cloud Privacy Notice
Firebase (Analytics, Crash Reporting, Push Notifications)
- Data shared: usage events and screen views with your user ID (Analytics); crash reports including device info, OS version and user ID (Crashlytics); device token for notification delivery (Cloud Messaging)
- Purpose: to understand how the App is used, fix crashes, and deliver push notifications
- Privacy policy: Firebase Privacy Policy
RevenueCat (Subscription Management)
- Data shared: your RevenueCat subscriber identifier, subscription status and purchase transactions
- Purpose: to manage in-app subscriptions and entitlements
- Privacy policy: RevenueCat Privacy Policy
Apple (App Distribution and Payments)
- Data shared: purchase and subscription transactions are processed by Apple under Apple's own terms; if you use Sign in with Apple, Apple provides us with an identifier and an email or relay address
- Privacy policy: Apple Privacy Policy
Email Delivery
- Data shared: your email address and the contents of transactional messages (email verification and password reset), sent through our email provider
We do not sell your personal information, and we do not share it with advertisers.
Data Retention & Deletion
You can delete your account yourself, from inside the App — you do not need to email us.
- Account deletion: when you request deletion, your account is scheduled for removal and enters a 30-day grace period. During that window you can sign back in and recover the account. Any active subscription entitlement is revoked immediately when deletion is scheduled.
- After 30 days: your account, expenses, categories, family membership, credentials and notification tokens are permanently deleted. If you owned a family group, it is dissolved and the remaining members keep their own expenses.
- Expense and category data: retained while your account exists, so your history stays available to you
- AI usage records: cost and token records are retained for billing integrity and abuse prevention
- Subscription records: retained as required for billing, tax and legal compliance, which may outlast account deletion
- Push notification tokens: removed on logout or account deletion
- Share links: stop working when the underlying expense or account is deleted
- Analytics and crash data: retained by Firebase under Google's retention policies (typically 14 months for Analytics, 90 days for Crashlytics)
- Server logs: retained for a limited operational period for security and troubleshooting
Your Privacy Rights
For All Users
- Access: request a copy of the personal data we hold about you
- Rectification: correct your name, email, categories and expenses directly in the App, or ask us to correct anything else
- Deletion: delete your account in the App at any time (see Data Retention & Deletion above)
- Object: object to certain types of processing
For European Union Residents (GDPR)
If you are located in the European Economic Area (EEA), you also have:
- Right to erasure: request deletion of your personal data
- Right to data portability: receive your data in a structured, machine-readable format — contact us and we will export it for you
- Right to restrict processing: request limitation of processing in certain circumstances
- Right to withdraw consent: withdraw consent at any time where processing is based on consent
- Right to lodge a complaint: file a complaint with your local data protection authority
For California Residents (CCPA)
- Right to know: request disclosure of personal information collected, used and shared
- Right to delete: request deletion of personal information
- Right to opt out: opt out of the sale of personal information (we do not sell personal information)
- Right to non-discrimination: we will not discriminate against you for exercising your rights
To exercise any of these rights, contact us at [email protected].
International Data Transfers
Your information may be transferred to and processed in countries other than your country of residence:
- Our servers: Expenny's application servers and database are operated by us at a hosting provider, and may be located outside your country of residence
- Google (Gemini, Firebase): AI processing, analytics, crash reports and push notification data are processed on Google's infrastructure globally
- RevenueCat: subscription data is processed on RevenueCat's servers in the United States
We rely on appropriate safeguards for international transfers, including standard contractual clauses where applicable.
Data Security
We implement appropriate technical and organisational measures to protect your personal information, including:
- Encrypted data transmission (HTTPS/TLS)
- JWT-based authentication, with passwords stored only as salted hashes
- Database encryption at rest
- Rate limiting and abuse protection on our API
The App stores no bank account numbers, card details or financial credentials — expense data consists solely of text you entered or that was read from a receipt, plus amounts.
No method of transmission over the Internet is completely secure. While we work to protect your information, we cannot guarantee absolute security.
Children's Privacy
The App is not intended for children under the age of 13 (or 16 in the European Economic Area). We do not knowingly collect personal information from children under these ages.
If you are a parent or guardian and believe your child has provided us with personal information, please contact us at [email protected].
Changes to This Privacy Policy
We may update this Privacy Policy from time to time. We will notify you of changes by:
- Posting the new Privacy Policy here and in the App
- Updating the "Last Updated" date at the top of this policy
- Sending a notification through the App for material changes
Contact Us
If you have questions or concerns about this Privacy Policy, please contact us:
Vitalii Kikot
Email: [email protected]