What happens when you speak into Leora
A recording travels through four systems in about ten seconds. Here is each one, what it sees, and what it keeps.
Last updated 29 July 2026
Most apps ask you to trust them. This one would rather show you the plumbing.
When you hold the microphone and say “sold a haircut for two hundred”, that sentence passes through four systems before it becomes a line in your ledger. None of them is mysterious, and none of them keeps your voice.
1. Your phone, first
Before anything is sent anywhere, the audio is written to your phone’s storage.
This ordering is deliberate and it is the single most important design decision in the product. It means a recording made in a basement, in a lift, or on a plane is already safe — it exists on disk before the network is even consulted. If Leora tried to upload first and store second, every recording made without signal would be a recording lost.
The file stays there until it has been transcribed and you have confirmed what was in it. Not until it has been uploaded — until the round trip is genuinely complete. If that takes three days because you were somewhere without coverage, it takes three days.
2. Our server
The recording is sent to Leora’s own API, which runs on Cloudflare’s network.
Its job is to be the only thing that holds credentials. Your phone never carries a transcription key or a database password; if it did, anyone who downloaded the app would have them. The server checks that the request really came from your account, then passes the audio onward.
3. Transcription
The audio goes to Groq, which runs a speech-to-text model called Whisper. If Groq is unreachable or rate-limited, the same audio goes to OpenAI instead — a second chance rather than a second bill, since only one of them ever runs.
What they receive is the audio and nothing else. Not your name, not your email, not your account identifier, not which business you were recording against. From their side it is an anonymous few seconds of speech.
This step is also where mixed-language sentences are hardest. Speech models are built for one language at a time, and “بعت pizza بـ 25 درهم” asks one to be two. It mostly works and it sometimes does not, which is why the next step matters and why nothing is saved without you seeing it.
4. Structuring
The transcript — text now, not audio — goes to Anthropic, which turns the sentence into fields: an amount, a type, a category, an item, a date.
This is where “sold a haircut for two hundred” becomes sale · 200 · services · haircut · today, and where one sentence containing two events becomes two
separate records rather than one confused one.
Anthropic sees the sentence and your business’s currency and category names, so it can pick supplies instead of inventing shop supplies. It does not see who you are.
Then the audio is gone
Once a transcript exists, the recording has done its job. We keep no copy of your audio on our servers. The file on your phone is deleted automatically a few days after it has synced and been confirmed.
What persists is the text of what you said and the record made from it — kept for two reasons. So you can trace any number in your ledger back to the sentence that produced it. And so that when Leora gets something wrong and you fix it, we can see what it got wrong.
The part where you check it
Nothing above becomes a record on its own. The draft appears with every field Leora produced, and anything it was unsure about is marked — as an invitation to glance, not an error to clear.
That review step is not friction we failed to remove. It is the product. A figure you did not look at is a figure you cannot trust, and a ledger you do not trust is worse than no ledger at all.
The formal version of all this is the privacy policy, and the short version is how your data is handled.