Documentation
The complete guide to Porcfolio. From getting started to deep technical dives.
User Guide
Everything you need to know to manage your finances with Porcfolio.
Getting Started
Porcfolio is designed to be usable immediately after installation, with no account required for local-only use.
- Installation: Download the latest release for Windows, macOS, or Linux from our Download page. The mobile app is coming soon to iOS and Android.
- First Run: Upon launching, you can immediately start managing your wealth data! No log in is required to use the app freely, only for the Pro account.
Accounts & Transactions
Porcfolio supports a double-entry bookkeeping system under the hood, simplified for personal finance. You can manage different types of accounts:
Assets & Liabilities
Track what you own (Cash, Bank Accounts, Investments) and what you owe (Credit Cards, Loans). These accounts determine your Net Worth.
Income & Expenses
Track your cash flow. Categorize your earnings and spending to understand your financial habits.
Bank Synchronization (Pro)
Bank synchronization will be available soon for Pro users. The feature will use industry-standard providers so users can connect eligible institutions with secure, read-only access.
- ✓Plaid (North America): Bank aggregation provider for US and Canadian institutions. Check coverage.
- ✓Salt Edge (Europe & UK): Bank aggregation provider for European and UK institutions. Check coverage.
Note: Bank credentials will never be stored on our servers. They are handled directly by the aggregation providers and exchanged for secure tokens.
Technical Architecture
A deep dive into how Porcfolio works under the hood.
Data Model & Persistence
Porcfolio follows a Local-First architecture. The app remains fully functional without an internet connection.
- Local Storage:
We use
Drift(an abstraction over SQLite) for persistent on-device storage. This ensures instant load times and offline capability. - Synchronization:
When online, the app syncs with Supabase PostgreSQL. We use a custom sync engine that handles conflict resolution (typically Last-Write-Wins) to keep devices in sync.
Security & Privacy
Security is our top priority. We employ multiple layers of protection:
Row Level Security (RLS)
Database access is strictly controlled via PostgreSQL RLS policies. Users can strictly access only their own data. Even a compromised application server cannot bypass these database-level checks.
Encryption
Sensitive data (like bank connection tokens) is encrypted at rest using AES-256. All data in transit is encrypted via TLS 1.3.
Data Storage Locations
- Local Device: All financial data (transactions, accounts, balances) is stored in a secure SQLite database on your device.
- Cloud (Optional): If you enable sync, an encrypted copy of your data is stored in our Supabase PostgreSQL database.
- Bank Credentials: For the planned bank-sync feature, credentials will never be stored by us. They will be securely handled by Plaid or Salt Edge, and we will only store read-only access tokens.
- Payment Info: Processed and stored by Stripe/RevenueCat. We do not store credit card details.