Privacy Policy
How we collect, use, and protect your information
Version 2.1 · Effective 2026-08-16
Privacy Policy
UrbanPX, LLC ("we," "us," "our," or "Almighty") operates the Almighty Budget and Almighty Split mobile and web applications (collectively, the "Services"). This Privacy Policy describes how we collect, use, store, share, and protect your personal information when you use our Services.
By creating an account or using our Services, you agree to the collection and use of information as described in this Privacy Policy. If you do not agree, please do not use our Services.
1. Who We Are
The Services are operated by UrbanPX, LLC, a limited liability company formed under the laws of the State of Colorado, United States.
- Almighty Budget — a personal budgeting application for tracking income, expenses, accounts, investments, and net worth.
- Almighty Split — a group expense-splitting application for shared bills and settlements.
Together, these apps form the Almighty ecosystem. A single Almighty Pro subscription applies across both apps, and limited information about your Almighty Split activity is surfaced inside Almighty Budget as described in Section 6.
Contact:
- Email: support@urbanpx.com
- Website: https://almighty.money
2. Information We Collect
2.1 Information You Provide
| Data | When Collected | Purpose |
|---|---|---|
| Email address | Account registration | Authentication, account recovery, communications |
| Display name (Split) | Account registration | Identify you to group members |
| First name, last name (Budget) | Account registration | Personalize your experience |
| Company name (Budget, optional) | Account registration (business accounts) | Business account identification |
| Password | Account registration | Authentication (hashed by Firebase Auth; we never store plaintext passwords) |
| Consent timestamp | Account registration | Record when you agreed to these terms |
| Financial transactions | Manual entry or Plaid sync | Budgeting, expense tracking, net worth calculation |
| Group and expense data (Split) | Created in-app | Bill splitting and settlement tracking |
| Google or Apple account profile (email address, display name) | Sign-in with Google or Apple | Authentication and account creation |
2.2 Information Collected Automatically
| Data | Source | Purpose |
|---|---|---|
| Device and usage analytics | Firebase Analytics (GA4) | Understand how the app is used, improve features |
| App version and platform | Firebase Analytics | Compatibility and support |
| Crash reports | Sentry | Diagnose and fix errors |
| Subscription status | RevenueCat | Entitlement verification |
| Advertising and ad-request data | Google (AdMob in mobile apps; AdSense on the web) | Serving and measuring advertising on the Free plan |
| IP address and approximate location | Google advertising services | Ad delivery, frequency capping, and ad-fraud prevention |
| Advertising consent state | Google UMP consent form (mobile apps) / our web cookie banner | Recording your advertising choice |
2.3 Information We Receive from Plaid (Almighty Budget Only)
If you choose to link a financial institution through Plaid, we receive the following data from Plaid, Inc.:
- Account information: Account name, type (checking, savings, credit card, loan, investment), and institution name.
- Account balances: Current and available balances.
- Transaction history: Transaction date, amount, merchant name, pending status, and Plaid's transaction categorization.
- Liability details: For credit cards, student loans, and mortgages — interest rates (APR), minimum payment amounts, payment due dates, payment history, overdue status, and payoff information.
- Investment holdings: Securities held (name, ticker symbol, type, ISIN, CUSIP), quantities, cost basis, and current values.
- Investment transactions: Buy, sell, dividend, fee, and transfer records including dates, amounts, and related securities.
- Recurring transaction patterns: Plaid's auto-detected subscriptions, regular bills, and income streams, including merchant name, average amount, frequency, and predicted next date.
2.4 Information We Do NOT Collect
We do not request, receive, or store:
- Bank account numbers or routing numbers (Plaid Auth product is not used)
- Social Security numbers or government-issued identification
- Income verification documents
- Your banking login credentials (entered directly into Plaid's secure interface)
- Biometric data
- Precise geolocation
- Contact lists or address books
- Personally identifiable information (PII) in analytics events — our analytics contracts explicitly prohibit logging names, email addresses, financial amounts, or user IDs as event parameters
This list describes what we collect and store. It does not limit what our advertising partner receives when an advertisement is served on the Free plan; see Section 10.
3. How We Use Your Information
We use the information we collect to:
- Provide the Services: Display your budgets, transactions, accounts, balances, group expenses, and settlements.
- Surface Split activity in Budget: When an expense is created in Almighty Split, our Cloud Functions record a summary of your share in Almighty Budget and send you an in-app notification, so you can review recent shared expenses in one place. These summaries do not create transactions in your budget.
- Auto-categorize transactions: When you categorize a Plaid-imported transaction, we learn that mapping and apply it to future transactions with the same Plaid category.
- Detect duplicates: When Plaid imports a transaction, we compare it against your manually entered transactions to flag potential duplicates for your review.
- Detect recurring transactions: Plaid identifies recurring transaction patterns (subscriptions, bills, income), which we display to help you manage recurring expenses.
- Verify subscriptions: We check your subscription status through RevenueCat to enable premium features.
- Improve the Services: Aggregated, anonymized analytics help us understand usage patterns, diagnose issues, and prioritize features.
- Communicate with you: Account-related notifications, service announcements, and support responses.
4. Financial Data Disclaimer
Almighty Budget is not a financial advisor. Information provided through our Services — including account balances, transaction categorization, net worth calculations, budget summaries, debt payoff projections, and investment portfolio views — is for personal tracking and informational purposes only and does not constitute financial, investment, tax, or legal advice. Always consult a qualified financial professional before making financial decisions.
5. How We Store and Protect Your Information
5.1 Infrastructure
All data is stored in Google Cloud Firestore, part of the Firebase platform operated by Google LLC. Firestore provides:
- Encryption at rest: AES-256 encryption for all stored data.
- Encryption in transit: TLS 1.2+ for all data transmitted between your device and our servers.
- Geographic region: Data is stored in Google Cloud's us-central1 region.
5.2 Authentication
We use Firebase Authentication for identity management. Passwords are securely hashed by Firebase — we never have access to your plaintext password. You can authenticate with an email address and password, or by signing in with your Google or Apple account. When you sign in with Google or Apple, we receive your email address and, where you have made it available, your display name from that provider; we do not receive your password for that account. We do not support Facebook login.
5.3 Firestore Security Rules
All user data in Firestore is scoped to your authenticated user ID (UID). Our security rules enforce:
- User isolation: You can only read and write data under your own
users/{uid}path. No user can access another user's data. - Server-only collections: Sensitive data such as Plaid access tokens is stored in collections that are completely blocked from client access. Only our server-side Cloud Functions (running with administrative privileges) can read or write these collections.
- Read-only Plaid data: Financial data synced from Plaid (holdings, investment transactions, recurring streams) is read-only from the client. Only our Cloud Functions can create or modify this data.
- Platform collections: Administrative data such as sync logs and audit logs are accessible only via server-side administrative access.
Our security rules are covered by automated test suites to verify these access controls.
5.4 Plaid Access Token Security
When you link a financial institution, Plaid provides us with an access token that allows us to retrieve your financial data. This token:
- Is stored exclusively in a server-only Firestore collection (
plaidItems) that is completely blocked from client-side reads and writes. - Is never transmitted to your device or exposed in any client-side code.
- Is used only by our server-side Cloud Functions to fetch account data from Plaid.
- Our Plaid API credentials (client ID and secret) are stored in Firebase Secrets Manager and are never embedded in client-side code.
5.5 Webhook Security
Real-time updates from Plaid are received via webhooks. Each webhook request is verified using:
- JWT signature verification with Plaid's public keys (ES256 algorithm)
- SHA-256 body hash validation to prevent tampering
- 5-minute maximum age to prevent replay attacks
6. Cross-App Data Flows
When you use both Almighty Budget and Almighty Split with linked accounts, limited information about your Split activity is recorded inside Almighty Budget. This data flow happens for all users and is not conditional on a subscription, though the plan you are on affects how those records are presented to you in the app.
How It Works
When an expense is created in Almighty Split, our Cloud Functions write a summary record of each participant's share into Almighty Budget and send an in-app notification. Almighty Budget surfaces these records in a review list.
These records do not create transactions in your budget. They are a review and notification surface only; entering a shared expense into your budget remains a manual step. Automatic creation of budget transactions from Split expenses is not currently offered.
What Is Synced
- Expense description, your share amount, total expense amount, expense date, the group it belongs to, and who paid.
- A unique sync identifier is used to prevent duplicate entries.
What Is NOT Synced
- No bank transaction data flows from Budget to Split.
- Split does not receive any of your Plaid-linked account data, balances, or transaction history.
- We do not share your Budget data with other Split group members.
Identity Linking
To connect your accounts across the two apps, we create a platform identity (almightyUID) that links your Budget and Split accounts. This identifier is used solely for matching your accounts across our apps and is never shared with third parties. It is also what allows a single Almighty Pro subscription to apply in both apps.
7. Automatic Syncing with Plaid
Once you link a financial institution, we automatically refresh your data:
- Scheduled sync: Approximately every 6 hours, we fetch updated balances, transactions, liability details, investment holdings, and recurring transaction patterns.
- Real-time webhooks: Plaid sends us notifications when new transactions or account changes are detected, triggering immediate syncs.
- On-demand refresh: You can manually trigger a balance and transaction refresh at any time from within the app.
8. Data Retention
8.1 User Data
| Data Type | Retention Period |
|---|---|
| Account profile (email, name) | Until you delete your account |
| Financial transactions (manual and Plaid-synced) | Indefinite, until you delete them individually or delete your account |
| Plaid access tokens | Until you unlink the institution or delete your account |
| Plaid-linked account metadata | Until you unlink the institution or delete your account |
| Investment securities and holdings | Until removed by Plaid sync, you unlink the institution, or delete your account |
| Recurring transaction streams | Until removed by Plaid sync, you dismiss them, or delete your account |
| Category learning mappings | Until you delete your account |
| Group expenses and settlements (Split) | Until you delete them or delete your account |
| Consent acceptance timestamp | Until you delete your account |
8.2 Infrastructure Backups
We maintain automated daily backups of all three Firebase projects (Platform, Budget, and Split) with a 30-day rolling retention period. Backups older than 30 days are automatically deleted. These are Google Cloud Firestore managed backups, held in Google Cloud's nam5 multi-region and encrypted at rest by Google Cloud; they are not stored in a Cloud Storage bucket.
8.3 Analytics Data
Firebase Analytics (GA4) data is retained according to Google's default retention policy (up to 14 months for user-level data, up to 50 months for event-level data). We do not have the ability to delete individual user records from Google Analytics. Analytics events contain no personally identifiable information.
9. Third-Party Services
We use the following third-party services to operate the Almighty ecosystem:
| Service | Provider | Purpose | Their Privacy Policy |
|---|---|---|---|
| Firebase Authentication | Google LLC | User authentication (email/password) | Google Privacy Policy |
| Cloud Firestore | Google LLC | Database for all user data | Google Privacy Policy |
| Firebase Analytics (GA4) | Google LLC | Anonymous usage analytics | Google Privacy Policy |
| Cloud Functions for Firebase | Google LLC | Server-side logic (sync, Plaid integration) | Google Privacy Policy |
| Plaid | Plaid, Inc. | Financial institution connectivity | Plaid End User Privacy Policy |
| RevenueCat | RevenueCat, Inc. | Subscription and entitlement management | RevenueCat Privacy Policy |
| Sentry | Functional Software, Inc. | Error tracking and crash reporting | Sentry Privacy Policy |
| Google AdMob / Google AdSense | Google LLC | Advertising on the Free plan | How Google uses information from sites or apps that use our services |
We do not sell your personal information for money. We share limited personal information with Google for advertising on the Free plan, as described in Sections 10 and 12. We share data with the other providers listed above only as necessary to operate the Services.
10. Cookies and Tracking (Web Versions)
When you use Almighty Budget or Almighty Split in a web browser, the following technologies may be used:
- Firebase Authentication tokens: Stored in your browser's local storage or IndexedDB to keep you signed in. These are not tracking cookies.
- Firebase Analytics (GA4): Uses first-party cookies and local storage to collect anonymous usage data (page views, feature usage, session duration).
- Google advertising (Free plan only): The Free plan is supported by advertising. When an advertisement is served, it is delivered by Google (AdSense on the web, AdMob in our mobile apps), which sets and reads its own cookies or advertising identifiers and receives your IP address, browser and device characteristics, and the screen on which the advertisement appeared. Advertising is a permanent feature of the Free plan. No advertisements are served to Almighty Pro subscribers or during the 14-day free trial. Where consent is required, advertising loads only if you accept it in our cookie banner.
- AsyncStorage / IndexedDB: Used to store your app preferences (theme, notification settings) locally on your device.
We do not use:
- Cross-site tracking pixels outside our advertising partner's own ad-serving tags
- Social media tracking widgets
- Fingerprinting technologies
You can turn analytics and crash reporting off at any time in the app under Settings → Privacy. On the web you can also clear your browser's cookies and local storage, or use a browser privacy extension. If you are in the EEA, the United Kingdom, or Switzerland, our web cookie banner lets you accept or reject analytics and advertising separately on first use. We do not currently offer an in-app screen for changing a cookie-banner choice after you have made it; email support@urbanpx.com and we will action your request.
11. Your Rights
11.1 Access Your Data
You can view all your personal data within the apps at any time — your profile information, transactions, accounts, budgets, groups, and expenses are always accessible to you.
11.2 Correct Your Data
You can update your display name, email, transactions, accounts, budgets, groups, expenses, and other personal data directly within the apps.
11.3 Export Your Data
You have the right to receive a copy of your data in a portable format. To request a data export, email us at support@urbanpx.com with the subject line "Data Export Request." We will provide your data within 30 days in a structured, machine-readable format (JSON).
11.4 Delete Your Data
You can request deletion of your account and all associated data. Deletion can be initiated:
- In-app: Through the account settings / delete account flow.
- By email: Send a request to support@urbanpx.com with the subject line "Account Deletion Request."
When you delete your account, we perform a comprehensive deletion cascade:
- Platform data: Your cross-app identity link, sync logs, and audit log entries are deleted.
- Budget data: Your entire user document tree is deleted, including all accounts, transactions, budgets, categories, holdings, investment transactions, securities, recurring stream data, and category mappings.
- Split data: If you also use Almighty Split, your Split data is not removed by this cascade. Almighty Split runs in a separate Firebase project. Delete your Split account from within the Split app (Settings → Delete Account); that removes your Split profile, the expenses you created, settlements involving you, your group memberships, and your Split sync-log entries.
- Plaid access revocation: All Plaid access tokens associated with your account are revoked (preventing any future data retrieval from your financial institutions), and the Plaid item records are deleted from our servers.
- Authentication record: Your Firebase Authentication record is deleted.
- Uploaded files: Receipt images you uploaded and your profile photo are deleted from our file storage. Google Cloud retains deleted files in a recovery window for a short period before permanently removing them.
This deletion is irreversible. Once processed, we cannot recover your data. When you delete your account in the app, deletion runs immediately and normally completes within the same request. In all cases — including requests you send by email — deletion of your live data is completed no later than 30 days after we receive your request. Copies of your data held in our encrypted daily backups are removed as those backups expire, no later than 30 days after your request. Deleting your account does not cancel a paid subscription; cancel that separately in your account settings.
11.5 Revoke Plaid Access
You can disconnect any linked financial institution at any time from within Almighty Budget's account settings. When you disconnect:
- We revoke the access token with Plaid, which immediately stops all future data retrieval from that institution.
- All Plaid-specific metadata is removed from your account records.
- Your previously synced transactions and last-known account balance are preserved (you can delete them manually if you wish).
- No further syncs will occur for that institution.
You can also revoke Almighty's access through Plaid's portal at my.plaid.com.
11.6 Opt Out of Analytics
Firebase Analytics events contain no directly identifying information. You can turn analytics and crash reporting off in the app under Settings → Privacy. On the web you may also clear your browser cookies and local storage or use browser privacy extensions. To limit advertising, you may upgrade to Almighty Pro, which removes advertising entirely, or opt out of personalised advertising as described in Section 12. Advertising remains a permanent feature of the Free plan.
12. California Residents (CCPA)
If you are a California resident, you have additional rights under the California Consumer Privacy Act (CCPA):
- Right to Know: You may request that we disclose the categories and specific pieces of personal information we have collected about you, the categories of sources, and our business purposes for collecting it.
- Right to Delete: You may request deletion of your personal information, subject to certain exceptions.
- Right to Opt Out of Sale or Sharing: We do not sell your personal information for money. On the Free plan we do share limited personal information — your IP address, device and browser characteristics, and advertising identifiers — with Google for cross-context behavioural advertising. You may opt out at any time by upgrading to Almighty Pro, or by emailing support@urbanpx.com with the subject line "Do Not Share My Personal Information." Opting out does not remove advertising from the Free plan; it limits you to non-personalised advertising.
- Right to Non-Discrimination: We will not discriminate against you for exercising your CCPA rights.
To exercise your CCPA rights, email support@urbanpx.com with the subject line "CCPA Request." We will verify your identity and respond within 45 days.
Categories of personal information we collect (as defined by the CCPA):
| Category | Examples | Collected |
|---|---|---|
| A. Identifiers | Email address, display name | Yes |
| B. Financial information | Account balances, transaction history (via Plaid), manually entered budget data | Yes |
| C. Internet or network activity | App usage analytics (no direct identifiers); advertising requests including IP address, device and browser characteristics, and the screen on which an advertisement appeared | Yes |
| D. Geolocation data | Precise location — not collected. Approximate location is derived from your IP address by our advertising and analytics providers. | Approximate only |
| E. Professional or employment information | Company name (optional, business accounts only) | Yes |
| F. Biometric information | Fingerprints, face data | No |
| G. Sensory data | Audio, visual | No |
| H. Commercial information | Your plan (Free or Pro), subscription status, and purchase history via RevenueCat | Yes |
| I. Inferences | Advertising-interest signals derived by our advertising partner. We do not receive, store, or use these inferences. | Yes — by our advertising partner |
13. European Residents (GDPR)
If you are located in the European Economic Area (EEA), United Kingdom, or Switzerland, the following applies:
Legal Basis for Processing
| Processing Activity | Legal Basis |
|---|---|
| Account creation and authentication | Contract performance |
| Storing and displaying your financial data | Contract performance |
| Plaid data retrieval and syncing | Your explicit consent (given during Plaid Link) |
| Cross-app data flows (Split → Budget) | Contract performance (providing the ecosystem services you signed up for) |
| Analytics and crash reporting | Consent, where required by ePrivacy rules; otherwise legitimate interest (improving service quality) |
| Advertising on the Free plan | Your consent (given through our cookie banner or the Google consent form) |
| Responding to support requests | Legitimate interest |
Your GDPR Rights
- Access: Request a copy of your personal data.
- Rectification: Request correction of inaccurate data.
- Erasure ("Right to be forgotten"): Request deletion of your data.
- Restriction: Request that we limit how we process your data.
- Portability: Request your data in a structured, machine-readable format.
- Objection: Object to processing based on legitimate interest.
- Withdraw consent: Withdraw consent for Plaid data access at any time by unlinking your financial institution in the app.
To exercise these rights, email support@urbanpx.com. We will respond within 30 days.
Data Transfers
Your data is stored and processed in the United States (Google Cloud's us-central1 region). Where personal data is transferred out of the EEA, the United Kingdom, or Switzerland, we rely on the European Commission's Standard Contractual Clauses (and the UK Addendum where applicable), incorporated into our agreements with Google, Sentry, and our other service providers. You may request a copy of the relevant safeguards by emailing support@urbanpx.com.
Supervisory Authority
You have the right to lodge a complaint with your local data protection supervisory authority.
Representative in the EEA and United Kingdom
We currently offer the Services only in the United States and have not designated a representative in the European Economic Area or the United Kingdom under Article 27 of the GDPR or UK GDPR. If we begin offering the Services in those territories, we will designate a representative and update this Policy before doing so. Until then, please direct data protection enquiries to support@urbanpx.com.
14. Children's Privacy
Our Services are not directed to children under the age of 13 (or 16 in the EEA). We do not knowingly collect personal information from children. If we learn that we have collected data from a child under the applicable age, we will delete it promptly. If you believe a child has provided us with personal information, please contact us at support@urbanpx.com.
15. Changes to This Privacy Policy
We may update this Privacy Policy from time to time. When we make material changes, we will:
- Publish a new version, with an updated version number and effective date.
- Notify you via an in-app notification or email (for material changes).
- Post the revised policy at https://almighty.money/privacy.
Your continued use of the Services after changes are posted constitutes your acceptance of the revised policy.
16. Contact Us
If you have any questions about this Privacy Policy, your data, or your rights, contact us at:
UrbanPX, LLC Email: support@urbanpx.com Website: https://almighty.money
For CCPA or GDPR-specific requests, email support@urbanpx.com with the applicable subject line ("CCPA Request," "GDPR Request," or "Data Export Request").