Security & data handling
Bank statements are sensitive. Here is exactly what happens to yours, in plain language. This describes how the software is built, not a certification.
What happens when you upload
- The PDF is sent over HTTPS and written to a temporary file on our server.
- We read the text (or, for scanned PDFs, run OCR with Tesseract on the same server) and extract the transactions.
- The temporary file is deleted before the results page is shown. The original PDF is never stored.
- The extracted transactions are held in memory only (not on disk, not in the database) for up to 1 hour so you can download exports. "Delete now" removes them immediately. A server restart also erases them.
What we store
- Without an account: a daily page counter keyed by a salted hash of your IP address and the date (the raw IP isn't stored), used for the free allowance.
- With an account: your email address, sign-in sessions, page usage counts (number of pages, date), page balance, and order/subscription status from our payment provider.
- We do not store statement contents, account numbers, transactions, file names or PDFs in the database or logs.
What we don't do
- We never ask for your online-banking username or password, and we don't connect to your bank.
- We don't sell or share statement data, and we don't use it to train models.
- We don't see your card number. Payments are handled by Polar, our merchant of record.
AI fallback for hard scans
An optional AI vision fallback exists in the code but is switched off on this server. Scanned statements are read with local OCR only, and no statement data is sent to third-party AI services.
Accounts
- Passwordless sign-in: single-use links that expire after 15 minutes, stored only as hashes.
- Session cookies are HttpOnly, Secure and SameSite=Lax; account actions are CSRF-protected.
- You can delete your account from the account page at any time.
Reporting a problem
Found a security issue? Email support@statemio.com.