StashApp — Privacy Policy

Last updated: May 15, 2026

The short version. StashApp is a personal credit-card tracker for Android. It runs entirely on your device. There is no StashApp server, no account to sign up for, no analytics, no advertising, and no sale of your data. The only times your phone talks to anyone else are when you explicitly choose to use a feature that requires it (linking a bank, finding nearby merchants, etc.), and those requests go straight from your device to that provider.

1. Who runs StashApp

StashApp is a personal project maintained by an independent developer (Harman Birring). It is distributed as an Android app and as open source on GitHub. There is no company behind it, no employees, and no marketing pipeline.

Source: github.com/hbirring01/CreditCardApp. Questions or deletion requests: open an issue on the repository.

2. What data StashApp handles

The app processes the following categories of information only when you enter them or enable the feature that creates them:

3. Where data lives

All app data is stored locally on your device in an encrypted SQLite database (SQLCipher / AES-256). The database passphrase is generated on first launch and stored in the Android Keystore. Secrets you supply in Settings (Plaid client_id / secret, Foursquare API key) are kept in EncryptedSharedPreferences with a master key in the Android Keystore.

There is no remote backend operated by StashApp. Your data is never uploaded to a StashApp server, because no such server exists. Backups follow your device's normal Android backup rules; the encrypted database is opaque without the on-device Keystore key.

4. Third-party services

Some optional features require talking to other services. Each request is initiated by your device and goes directly to that provider. StashApp does not proxy these calls.

4.1 Plaid (bank account linking)

When you tap Connect a bank, the Plaid Link SDK opens. Plaid Inc. handles bank authentication and returns an access token to your device. That token, plus the resulting account and transaction data, is stored locally as described in section 3. Plaid's handling of your bank credentials is governed by their own policy: plaid.com/legal. To disconnect, remove the linked Item from within StashApp; you may also revoke access from my.plaid.com.

4.2 Foursquare Places (Rewards Map)

When you open the Rewards Map or run a business name search, your approximate latitude and longitude and your query string are sent to the Foursquare Places API for venue lookup. See foursquare.com/legal/privacy.

4.3 OpenStreetMap / Overpass (Rewards Map)

Map tiles and venue data may be fetched from the OpenStreetMap project and the Overpass API. These requests include the area being viewed and standard HTTP headers. See OpenStreetMap's privacy policy.

4.4 Android system services

Standard Android components (Fused Location Provider, biometric prompt, file picker, etc.) are governed by Google's platform policies, not by StashApp.

5. What StashApp does not do

6. Permissions

7. Children

StashApp is not directed at children under 13. It deals with credit-card accounts that minors generally cannot hold. No knowing collection of data from children occurs.

8. Your rights

Because StashApp stores everything on your device, you control all of it:

For data that has flowed to a third-party provider (Plaid, Foursquare), contact that provider directly to exercise your rights with them.

9. Security

StashApp encrypts the local database with SQLCipher (AES-256) and stores third-party API keys with EncryptedSharedPreferences backed by the Android Keystore. The app requires PIN and/or biometric authentication to open. No software is bug-free; if you believe you've found a security issue, please open a private security advisory on the GitHub repository.

10. Changes to this policy

Material changes will be reflected by updating the "Last updated" date at the top of this page and, where appropriate, surfaced in the app's release notes. The current version is always at hbirring01.github.io/CreditCardApp/privacy.html .

11. Contact

The best way to reach the maintainer is to open an issue on the project repository: github.com/hbirring01/CreditCardApp/issues.