MFTracker is a privacy-first, offline-first expense tracking application for Android that automatically parses transaction notifications from banking apps.
- 100% Open Source: All code is MIT licensed
- No Proprietary Dependencies: All dependencies are open source
- No Tracking/Analytics: Zero analytics, no crash reporting services
- No Advertisement: Completely ad-free
- No Non-Free Assets: All icons and assets are original/open source
- Reproducible Build: Standard Flutter build process
- Privacy-Focused: No internet permission, all data local
- Flutter SDK (stable channel)
- Dart SDK 3.8.1+
- Android SDK (API 26+, Target API 34)
# 1. Get dependencies
flutter pub get
# 2. Run code generation (Freezed models)
flutter pub run build_runner build --delete-conflicting-outputs
# 3. Build release APK
flutter build apk --releaseAll F-Droid metadata files are located in fastlane/metadata/android/en-US/:
title.txt- App titleshort_description.txt- Brief description (80 chars)full_description.txt- Detailed description (4000 chars)fdroid.yml- F-Droid build configuration
MFTracker has ZERO anti-features:
- ❌ No Ads
- ❌ No Tracking
- ❌ No Non-Free Dependencies
- ❌ No Non-Free Assets
- ❌ No NSFW Content
- ❌ No Upstream Non-Free
- ❌ No Known Vulnerabilities
The app requests minimal permissions:
-
SMS Read Permission (READ_SMS):
- Required to read transaction SMS from banks
- Only financial SMS are processed
- Historical SMS parsing for initial setup
-
SMS Receive Permission (RECEIVE_SMS):
- Required for real-time transaction SMS detection
- Processes incoming bank SMS immediately
-
Notification Access (NotificationListenerService):
- Required to read bank transaction notifications
- User must manually enable in Settings
- No automatic access
-
Storage:
- For local SQLite database
- Export CSV/PDF files
No Internet Permission: App works 100% offline, truly privacy-first
- All data stored locally (SQLite)
- 100% offline - no internet permission
- No user accounts or authentication
- SMS and notification data never leaves device
- Only financial SMS/notifications are processed
- Optional database encryption (SQLCipher ready)
- Privacy-first, always and forever
- APK Size: ~23MB
- Memory Usage: <50MB active, <20MB background
- Battery Impact: <2% per day
- Launch Time: <1.5s
20+ banks including HDFC, ICICI, SBI, Axis, Kotak, PNB, BOB, Canara, IDBI, Yes Bank, IndusInd, IDFC First, Federal, Union, AMEX, and generic fallback parser.
- All dependencies are open source
- No proprietary libraries
- No tracking/analytics
- No advertisements
- Reproducible build process
- Privacy-focused design
- F-Droid metadata files created
- Build instructions documented
- Source code publicly available
- Issue tracker available
- License specified (MIT)
-
Fork F-Droid Data Repository:
git clone https://gitlab.com/fdroid/fdroiddata.git
-
Create App Metadata:
cd fdroiddata/metadata cp ../fastlane/metadata/android/en-US/fdroid.yml com.mftracker.app.yml -
Test Build:
fdroid build -v -l com.mftracker.app
-
Submit Merge Request:
- Create merge request on GitLab
- F-Droid team will review
- Address any feedback
You can also create a Request for Packaging (RFP) issue:
- Go to: https://gitlab.com/fdroid/rfp/-/issues
- Create new issue with app details
- F-Droid maintainers will review and potentially add the app
- Repository: https://github.com/sahilmohile15/mftracker
- Issues: https://github.com/sahilmohile15/mftracker/issues
- License: MIT
Note: First release (v1.0.0) is ready for F-Droid submission. All requirements are met and app is production-ready.