Security
Your receipts are your business. Not ours.
Plain answers about where your data sits, who can reach it, and what we have not built yet. If something below is not specific enough to act on, ask us.
Nobody else can query your rows
Every table enforces row-level security in the database itself, scoped to your own account. It is not a filter in our application code that we could forget to apply — the database refuses the read.
Receipt files are private by default
Receipts and bank statements go into private storage, not a public bucket. Each file sits under a folder keyed to your account, and the storage layer enforces that boundary the same way the tables do.
Viewing a receipt creates a short-lived link
When you open a receipt, we mint a signed link that expires in an hour. There is no permanent public URL for your documents.
What the AI sees
To read a receipt, the image is sent to OpenAI for extraction and the result comes back as text — vendor, date, amount, line items. That is the one place your document leaves our own infrastructure, and we would rather say so here than leave you to discover it.
We never see your password
Authentication is handled by Supabase Auth. Your password is hashed before it reaches storage and is not readable by us.
Deleting keeps the audit trail
Deleting a transaction marks it deleted rather than erasing the row, and you can restore it. For a bookkeeping product that is the point: a record you can quietly make disappear is not an audit trail.
What we have not done yet
We are an early product and will not pretend otherwise. We do not yet have an independent security audit, a formal data-processing agreement, or published backup and retention policies. If any of those are a condition of you using Aliran, tell us and we will give you a straight answer about timing.
Ask us something specific
Security questions deserve a real reply rather than a page of reassurance. Write to us and a human will answer.