DEV Community

Cover image for Escudo
Henrique Peralta
Henrique Peralta

Posted on

Escudo

Privacy-First Personal Finance for iOS

Your finances. On your phone. Nowhere else.

A privacy-first personal finance app that connects your banks, brokerage, and investment accounts into one unified dashboard โ€” entirely on-device, no backend, no account required, no subscription.

View on GitHub


At a Glance

๐Ÿฆ Multi-source ๐Ÿ”’ 100% On-device ๐Ÿ“Š Full picture
Banks, Revolut, Trading 212 and more No server. No account. Your data stays in your Keychain. Net worth, spending, investments โ€” all in one place

Screenshots

Log
Log
Insights
Insights
Budget
Budget
Transaction
Transaction Entry
Settings
Settings

About Escudo

Built out of two frustrations: every decent finance app costs a monthly subscription, and none of them support Trading 212.

Escudo connects your banks, brokerage, and investment accounts and gives you a single view of your net worth, spending, and investments โ€” without your data ever leaving your phone.

Key Features

  • Net worth dashboard โ€” aggregated balance across all accounts and investment portfolio P&L
  • Unified transaction log โ€” every account in one feed, auto-categorised
  • Spending insights โ€” breakdown by category and trends over time
  • Budget tracking โ€” per-category budgets with visual progress dials
  • Multi-currency โ€” EUR, GBP, USD with stored exchange rates
  • Recurring transactions โ€” template-based recurring transaction engine
  • Shortcuts support โ€” deep linking via escudo:// URL scheme

Integrations

Source Method
Trading 212 REST API โ€” portfolio, orders, dividends
Revolut Enable Banking OAuth 2.0
Bankinter PT Enable Banking OAuth 2.0
SIBS SIBS Open Banking (PT market)
CSV import Revolut & Bankinter statements

All credentials live in the iOS Keychain โ€” never in UserDefaults, never in iCloud, never on a server.


Known Limitations

  • Enable Banking does not expose credit card accounts โ€” only bank accounts and transactions are available through the PSD2 API; credit card balances and transactions are not accessible
  • No token auto-refresh for Enable Banking โ€” manual re-auth when tokens expire
  • Categorisation rules are hardcoded (no custom rule UI yet)

Tech Stack

iOS 17+ ยท SwiftUI ยท Core Data ยท Swift async/await ยท XcodeGen


Acknowledgements

Dime โ€” a beautifully designed open-source iOS finance tracker that was a direct inspiration for Escudo.


View source on GitHub โ†’

Top comments (0)