Privacy Policy

BankLink · Effective date: March 28, 2026 · Last updated: March 28, 2026

Your financial transaction data is stored locally on your device. Anonymized usage analytics are sent to Mixpanel to improve the app. You can opt out of analytics in Settings at any time.

1. What BankLink does

BankLink is a personal finance app that lets you import bank statements — as screenshots or PDF files — and aggregates your transactions into a single local dashboard. The app works without registration, login, or any connection to your bank accounts.

You may optionally create an account to unlock additional features such as bank connections, cloud sync, and premium tools.

2. What data we process and why

Core features (no account required)

Bank statement files (screenshots and PDFs)

When you import a bank statement, the file is sent over an encrypted connection (HTTPS) to our server. The server uses an AI model (Google Gemini) to extract transaction data — amounts, dates, merchant names, and transaction types. The extracted data is returned to your device. The uploaded file is not stored on our server after the response is sent. The extracted data is not stored on our server.

Transaction data

After extraction, your transactions are stored locally on your device using encrypted storage. We do not have access to this data. It is not synced to any cloud service.

App settings and preferences

Language, currency preference, categories, and notification settings are stored locally on your device. We do not collect or have access to this information.

Optional features (with account)

Account data

If you create an account, your email address and display name are stored via Firebase Authentication. This data is used to identify your account and enable features that require sign-in.

Bank connections

You may optionally connect bank accounts through Plaid. When you do, Plaid accesses your account names, balances, and transaction history on your behalf. You authorize each connection via OAuth directly with your bank. BankLink does not store your banking credentials — Plaid uses secure OAuth tokens to maintain the connection.

Subscription data

If you subscribe to a premium plan, payments are processed by Stripe. Stripe stores your payment method details (last four digits of your card) and subscription status. BankLink does not directly handle or store your full payment information.

Server-side user record

When you create an account, we store a user record in MongoDB containing your device identifier, Firebase user ID, subscription plan, and scan usage counts. This data is used for quota tracking and account management.

3. Usage analytics

We use Mixpanel to collect anonymized usage analytics that help us improve the app. This includes:

Analytics data is not linked to your financial transactions. We do not send any transaction amounts, merchant names, or bank information to Mixpanel. A random device identifier is used for analytics — we do not collect your name, email, or any personally identifying information for this purpose.

You can disable analytics at any time in Settings → Privacy → Usage Analytics. When disabled, no data is sent to Mixpanel.

4. What we do not collect

5. Third-party services

Google Gemini AI — Transaction extraction is performed using Google's Gemini AI via our backend server. Your statement files are transmitted to Google's API for processing. Google's data handling is governed by Google's Privacy Policy. We use Gemini in a way that does not store your data or associate it with any user identity. The file is discarded after the response is sent.

Mixpanel — Anonymized usage analytics as described in Section 3. Mixpanel's data handling is governed by Mixpanel's Privacy Policy.

Firebase Auth — Handles user authentication for optional account creation and sign-in. Firebase Auth is governed by Google's Privacy Policy.

Stripe — Processes subscription payments for premium features. Stripe's data handling is governed by Stripe's Privacy Policy.

Plaid — Facilitates optional bank account connections. When you connect a bank, Plaid accesses your financial data on your behalf via OAuth. Plaid's data handling is governed by Plaid's Privacy Policy.

Sentry — Collects crash reports and performance data to help us maintain app stability. Crash data may include device information and error traces but does not include financial data. Sentry's data handling is governed by Sentry's Privacy Policy.

6. Data retention

We do not retain statement files or extracted transaction data on our servers. Statement files and extracted transaction data are processed in memory and discarded after the API response is returned to your device.

Your local app data (transactions, categories, settings) is retained on your device until you delete it or uninstall the app.

If you create an account, we store a user record on our servers containing your device identifier, Firebase user ID, subscription status, and scan usage counts. This data is retained as long as your account exists and is deleted when you request account deletion.

7. How to delete your data

Local data (no account required)

You can delete all your transaction data from within the app:

Account data (if you have an account)

If you have created an account, you can permanently delete all server-side data associated with it:

8. Children's privacy

BankLink is not directed at children under 13 and we do not knowingly collect data from children.

9. Changes to this policy

If we make material changes to this policy, we will update the effective date above. Continued use of the app after changes are posted constitutes acceptance of the updated policy.

10. Contact

If you have questions about this privacy policy or your data, contact us at:

hello@bank-link.app