Privacy
This page describes how Outlay handles your data. It applies to the hosted instance you signed up on, and to any instance run from the source.
Where your data lives
Every statement you upload is parsed and stored in a Postgres database you provision and control. There is no shared backend, no vendor account, and no copy of your data held by anyone else.
What is never stored
Statement PDFs are parsed in memory during the upload request and discarded. They are never written to disk. Full card numbers are never captured at all: a card is identified by an optional four digits you type yourself.
What is encrypted
Your name, date of birth and remembered statement passwords are encrypted with AES-256-GCM before they reach the database. The key lives in your environment file, never in the database, and never leaves the server process.
Network activity
With no OpenAI key configured the application makes no outbound requests: no analytics, no telemetry, no third-party fonts or scripts. Reading a statement never uses AI. The only optional model call is the category review you trigger yourself, which sends merchant descriptions and nothing else, redacted first, with card numbers reduced to their last four digits and emails, phone numbers, PAN and Aadhaar-shaped values masked.
Access
The instance is locked behind a passcode you set. Sessions are bound to a signed, http-only cookie and expire after fifteen minutes of inactivity.
Removing your data
Settings offers a complete JSON export, per-statement and per-card deletion, and a full wipe behind a typed confirmation. Deleting the database file removes everything.