Last updated 14 October 2026
The short version: your voice goes to Mistral to become text, and to no other company. So does text you have tabi read aloud, and a file you open in Listen. tabi keeps no copy of your audio. Mistral holds what it processed for thirty days to catch abuse, then deletes it. Your history lives on your Mac. There are no accounts, no trackers, and no analytics in the app. What we count is numbers, never words. If the app crashes, a report with no words in it can go to a crash-reporting service in the EU, and you can switch that off.
When you dictate, the recording travels to Mistral, the French AI company, to be turned into text, and when cleanup or Hey tabi runs, the text travels there too. While a take is on its way, the recording sits in one file on your Mac that only your own user can read, so a dropped connection cannot lose what you said; tabi deletes it the moment the take goes through, and keeps audio for no other reason. With history paused, nothing is written at all. Mistral keeps what it processed, the audio and the text, for thirty rolling days to catch abuse of its service, and then deletes it. That window is Mistral's, not ours: we hold nothing. The details are in Mistral's privacy policy. No other AI company is involved; the only other party is the relay below, which counts and does not keep.
A few small things go with your words. The name of the app you are speaking into goes to Mistral with each take, so the writing fits the place (a Slack message is not an email). Words from your Dictionary and the style you set for that app go too, so the writing comes out right. Text you select for Hey tabi to rewrite, reply to or answer about goes too. For a reply, your name in tabi's Settings goes too (your Mac's account name unless you changed it), so the reply can be signed. When you ask for a reply with nothing selected, the text of the window in front goes with it, read through macOS Accessibility, so tabi can find the message you are answering. It is text, never a picture of your screen; it goes to Mistral with your request and nowhere else, and tabi does not save it. Powers, Reply, “Reply without selecting” turns it off. While you speak, tabi also reads the text of the window you are in, on this Mac, so a name you say is spelt the way that window spells it; and just before your words land it reads a few hundred characters before your cursor and a few dozen after it, so they fit the sentence they join. Neither is sent anywhere or saved. Only a name you said goes on to Mistral, inside your own words, as it always would. Settings, “Spell names from the window” turns the first off. After your words land, tabi reads that same box again for up to 30 seconds, on this Mac, to notice a word you correct: if your word sounds like the one tabi wrote, the two spellings go into your Dictionary, on this Mac, with a word or two of the sentence beside them when the word alone could mean something else. Nothing else from the box is kept, and nothing from it is sent. Settings, “Learn from your fixes” turns that off. In a browser, tabi asks for the address of the open tab so it can apply the style you chose for that site; only the site's name is kept, on this Mac, on the take's own row, and it is not sent anywhere. And tabi checks the keyboard only to know when the hold key is down and whether another key cancels a take. It never records which keys you press.
Every take is saved as text in files on your own Mac, so you can search and reuse what you said. Nothing about your history is sent to us. You can delete any take, or everything at once, from inside the app, and it is gone immediately. Pause history and nothing is saved at all. The app also forgets on its own: the raw transcript, what Mistral first heard before cleanup, goes after seven days, and the finished text after ninety. Words you taught it and repairs you made stay until you remove them.
While you speak, your voice streams to our relay, a small program we run on Cloudflare, which hands it to Mistral to be turned into words and keeps none of it. tabi's other calls to Mistral travel through the same relay, so the app on your Mac carries no API key. The relay forwards your request and keeps a count against a random install ID: how many takes, how many minutes of audio, how many characters read aloud, what that cost, which feature made the call, how long Mistral took to answer, the country the connection came from, the language Mistral detected, the app's version, and on a failure the error Mistral returned. After each take the app also tells it how the take ended: what stopped the recording (letting go of the key, Shift, Escape, the microphone, the ten-minute cap), how long it ran, and whether it came out or failed, with a one-word reason such as "connection". It never stores your words, your audio or your email. The install ID is a random number that says nothing about you; if we know whose install it is, because an invite code was made for you or you wrote to us, a name may be noted beside it, and nothing more. The line kept per call is deleted after thirty days; the daily totals per install stay, so the numbers add up over time. One more thing it keeps: the network address an install first signed in from, next to that install's ID, so one address cannot make endless installs. That address stays for as long as the install does, and is used for nothing else.
If tabi crashes, it can send a crash report to Sentry, a crash-reporting service, kept on their servers in the EU. A report holds what broke and where in the code, the tabi version, the macOS version, the kind of Mac and chip, and tabi's own log lines: what the app tried, what worked, what failed, with times. It never holds your words, your audio, your name, your email, your Mac's name, or your IP address. This is on by default and there is a switch in Settings; off means nothing is sent, even a crash already on its way out. You can read the same log yourself under Settings, Report a problem, where it is shown and editable before anything leaves your Mac.
Every few hours tabi asks this site whether a newer version is out, and installs it unless you switch that off in Settings. Only the question goes; nothing about you or your words goes with it.
Text you type or paste into Listen, and the text of a file you open there, goes to Mistral to be spoken, a few sentences at a time, as it is read. Word, EPUB and text files, and a PDF that holds its own words, are opened on your Mac. A scanned PDF or a photo goes to Mistral OCR to have its words read off the page. To mark the word being read, tabi needs to know when each word was said: on macOS 26 or later, for most of the languages Listen speaks, your Mac works that out itself with Apple's own speech recognition, and the sound never leaves it. Otherwise, once a stretch has been spoken, its sound goes back to Mistral once more, only for that. If you pick another language under Read it in, the text goes to Mistral to be translated, a little ahead of where you are listening, or all of it when you save it as audio. All of it passes through the relay above, which keeps none of it, only the counts.
On your Mac, Listen keeps the text it is reading, where you were and a copy of a PDF you opened, so you can pick up after a restart; Clear forgets it, and with history paused nothing is kept. The sound of what you heard, and when each word was said, stays in tabi's cache until you clear the page or open another file, so going back, Save audio and listening again after a restart do not have to ask for it twice; with history paused none of it is kept. A file you save goes where you put it, and is yours.
If you add your own voice for read aloud, that one sample is sent to Mistral to build the voice. The relay remembers which voices your install made, and only that install can use them; the recording itself is not kept by the relay. The sample is cleaned up on your Mac before it goes. The voice, and the name you give it, stay with Mistral until you delete it in tabi, which deletes it there too. Please only clone a voice that is yours.
No accounts. No tracking pixels or analytics scripts in the app. No selling, sharing, or "improving our models" with your data. No reading your words: we could not, because they are on your Mac and at Mistral, not with us.
This site sets no cookies, so there is no consent banner to click. The fonts, the images and the code are all served from this domain, so no third party script runs while you read. Nothing is stored in your browser either.
Page views on this site are counted in aggregate, using Vercel Web Analytics. That count records the page you opened, where the visit came from, and a rough country, browser and device type. It uses no cookie, does not store your IP address, and cannot follow you to another site or tie a visit to a person. It exists so we can tell whether anyone is reading, and nothing more. The app itself has no analytics at all.
tabi is run by Nikhil Bhima, its founder, who is responsible for the data this page describes. We are reachable at hello@heytabi.app, and that is the address for anything in this section. There is no account and no profile, so there is very little to hold: the relay keeps daily counts against a random install ID, as described above. The lawful basis for keeping those counts is a legitimate interest in running the service and stopping abuse.
You can ask what is held against your install ID, ask for it to be corrected, ask for it to be deleted, or object to it being kept at all. Any of those is done by writing to the address above, and you do not need to explain why. If you think your data has been mishandled you can also complain to the data protection authority where you live.
Mistral processes your audio and text on tabi's behalf. Mistral is a French company and that processing happens under Mistral's privacy policy. Crash reports, if you leave them on, are processed by Sentry (Functional Software, Inc.) in their EU region under Sentry's privacy policy. The relay runs on Cloudflare; this site, its downloads and the update check are served by Vercel; mail to hello@heytabi.app is held by Google Workspace.
Write to hello@heytabi.app. If you want your install's usage counts wiped from the relay, say so and it is done. Deleting the app and your history folder removes everything on your side.
This page is written to be read, not to cover anyone. If something above is unclear or looks wrong, please say so.