Security

How your books are protected, what we never keep, and how to tell us if we have got something wrong.

Last updated 29 July 2026


Your records are isolated in the database, not just in the app

This is the protection that matters most in a product where every user's data sits in one system, so it is the one worth understanding.

Most applications decide who may see what in application code — the server checks your identity, then asks the database for your rows. If that check is ever missed on one route, the data is exposed.

Leora enforces it one layer deeper. Every table carries row-level security policies that PostgreSQL itself applies to every query, binding each row to the account that owns it. A request for another user's transactions returns nothing — not because the app declined, but because the database will not produce the rows. A bug in our code cannot bypass it.

Sign-in, and why we never see your password

Authentication is handled by Clerk, a specialist provider. We never receive, store or transmit your password. If you sign in with Google, your credentials go to Google and we receive only your email address and name.

Every request to the Leora API carries a signed token that the API verifies cryptographically against the issuer before doing anything at all. An expired or altered token is rejected before it reaches your data.

Your audio is not kept

A recording is written to your own phone first, before anything is sent anywhere — that is what lets you record with no signal. It is sent for transcription, and we retain no copy of it on our servers. Once the words exist, the recording does not.

The transcription providers receive the audio and nothing else: not your name, not your email, not your account. They cannot connect a recording to a person, because we never tell them who is speaking.

In transit

All traffic between the app, our API and every provider is encrypted with TLS. The API is served from Cloudflare's network, and the website you are reading is served from the same infrastructure.

Limits that protect you and us

Every account is subject to a short-window burst limit enforced inside the network edge itself, plus an exact daily ceiling counted in the database. Together they stop a wedged client or a hostile one from running up cost or degrading the service for other people.

Deletion means deletion

Account → Delete account removes every business, transaction and transcript we hold, and the sign-in identity with it. It is immediate and permanent. We cannot restore it afterwards — that is the point of it, and it is worth exporting first if you might want the records.

What we do not have

Stated because a security page that lists only strengths is marketing:

  • No formal certification. Leora has not been audited against SOC 2, ISO 27001, or any comparable standard. It is a new product operated by one person, and claiming otherwise would be false.
  • No paid bug bounty. We will credit anyone who reports a real issue and wants to be named, but we cannot currently pay for reports.
  • No independent penetration test yet. If your business requires one before adopting a tool, Leora is not ready for you.

Reporting a vulnerability

If you believe you have found a security flaw, please tell us before telling anyone else. Write to [email protected] with “security” in the subject line and enough detail to reproduce it.

What you can expect:

  • An acknowledgement within 72 hours.
  • An honest assessment of severity, and what we intend to do.
  • Credit, if you would like it and the report is valid.

What we ask of you:

  • Give us reasonable time to fix it before disclosing it publicly.
  • Do not access, alter or delete data belonging to anyone else. If you reach another account's records, stop — you have proved the point.
  • Do not degrade the service for other users while testing.

We will not pursue action against anyone acting in good faith under those terms.


What we collect and how long we keep it is set out in the privacy policy; the plain-language version is at how your data is handled.