Privacy-First Expense Tracker Data Flow
This walkthrough applies the topic to a Kenya SMS finance tracker: local data, no transaction-data network calls in v1, CSV export, app lock, and optional user-owned backup later.
Flow
Data Model
| Table | Purpose |
|---|---|
raw_messages | source SMS text and sender metadata, if user opts in |
transactions | normalized expenses/income/transfers |
categories | local category rules |
exports | export audit metadata |
settings | app preferences, never hardcoded secrets |
V1 Boundaries
- no cloud account required
- no transaction data sent to a server
- app works offline
- CSV export is visible from settings and empty-state copy
- biometric/PIN lock protects casual access
- migration tests run before release
Later Backup
Add user-owned backup only after local export works. A good backup v2 encrypts the backup before it leaves the device and verifies restore on a clean install.