Security
Passkeys (0)
None
No passkey enrolled. Enroll one now to sign in without Google.
Account
Reset demo
Drop your current sandbox and start fresh. Your edits will be lost.
Install
Get the app
PWA
Install Astroledger as a standalone app on this device. It opens in its own window, runs offline for the chrome (the data still needs a connection), and gets a homescreen icon. No app-store account required.
On a phone, use the full public URL Astroledger is reachable at (typically a Cloudflare Tunnel hostname - see
docs/CLOUDFLARE_TUNNEL.md) so the device can reach this server.Household
Members
1 member
Members (1)
Sam Demoowner
Sharing finances with another person (inviting members + isolating each household's data) is in progress — this establishes your household; per-household data scoping + invites land in a later update.
Theme
Appearance
Toggle light/dark in the top bar (☾ / ☀ icon). Custom accent colors and density settings will move here in a future update.
Data
Local-first
All your data lives in
prisma/dev.db on this machine. Sensitive columns (Plaid tokens, raw emails) are AES-256-GCM encrypted with your MASTER_KEY. The encryption vault is unlocked by your sign-in. Back up the DB file regularly.Automation
Gmail auto-sync
LLM-assisted
Periodically scan your inbox for new receipts, capped per run for rate-limit safety. When the local LLM is reachable, each new receipt is also classified - recurring charges are flagged as new subscriptions (or matched to existing ones) and surfaced under Insights.
Loading…
AI
LLM provider
Pluggable
Pick the model that powers Spacer chat and LLM-assisted auto-categorization. Works with Ollama (local), OpenAI, Anthropic, or any OpenAI-compatible endpoint (LM Studio, vLLM, OpenRouter, Groq, your own server). API keys are stored as env var names only — the actual key value never enters the database, only the running process reads it from
process.env at call time. Hit Test connectionbefore saving to confirm the model can answer.Loading…
Alerts
Dismissed-alert TTL
Default 12 days
Dismissed recommendations on the Alerts page are kept around so you can restore one if you change your mind, then auto-deleted after this many days. Range: 1–365. Cleanup runs on every Alerts page load.
Organization
Tags
Parent > Child
Two-level hierarchy. Primary tags render as filled pills; secondary tags render as outlined chips. Either level can be attached to transactions or subscriptions. Edits autosave. Deleting a parent orphans its children (they remain usable, just lose the prefix).
25 tags · 24 parents · 1 children
Hygiene
De-duplication
Idempotent
- Tags - merges root tags with the same name (case-insensitive). The older row wins; children, transactions, and subscriptions move over.
- Subscriptions - merges near-duplicates for the same merchant (cadence within ±4 days, amount within 15%). Transactions get re-pointed and tags are unioned onto the surviving subscription.
- Transactions - flags cross-account duplicates (same merchant + day + amount) as transfers so rollups stop double-counting. The bank-side charge is preserved; the wallet/ecommerce side is hidden from totals.
Hygiene
Hide inactive accounts
12m
Accounts with no transactions for this many months are auto-hidden from the Accounts page, the account picker, and rollup totals - they stay in the database and reappear immediately if a fresh transaction lands. Set to
0 to disable.months of inactivity
Automation
Categorization rules
Auto-applied
Rules auto-apply on every transaction insert across all import paths (CSV, QIF, SimpleFIN, Plaid, PayPal, PDF, manual). Substring or regex match against rawDescription or merchant. Apply tags, category, isTransfer flag, or rename the merchant. Lower sortOrder runs first; on a category/merchant conflict, highest sortOrder wins.
No rules yet. Create one to auto-tag or auto-categorize matching transactions.
Automation · learned
Suggested rules
From your edits
Scanning your categorizations…
Foreign currency
FX rates
USD base
Base currency: USD. Rates are stored as
1 USD = rate × quote. Astroledger looks up the most recent rate at or before each foreign-currency charge date.Automation
Database backups
Encrypted at rest
Online
VACUUM INTO snapshot, gzip-compressed, written to a configurable directory with auto-pruning. Because sensitive columns (and optionally the entire DB via SQLCipher) are encrypted with your MASTER_KEY, backup files are safe to copy off-machine - to a USB drive, NAS, or cloud bucket.Loading…
Data
Export your data
Leave anytime
Download your complete financial history in open formats - for spreadsheets, migration to another app, or archival. Your data is yours; take it whenever you want. (For an encrypted full-database snapshot instead, use the password-encrypted backup above.)
CSV — every transaction + tags/category/flags, opens in any spreadsheet. QIF — multi-account Quicken format (round-trips back into Astroledger or any QIF-aware app). JSON — complete denormalized dump of every table (accounts, transactions, budgets, goals, rules, holdings, etc.) for archival or migration. Connector credentials are excluded.