Privacy note
- Nothing is recorded. No audio or transcript files are written on your phone or on the server.
- Two cloud services process the conversation: Speechmatics turns speech into text, and OpenRouter turns the text into English.
- Listening is visible and foreground only. It starts after you confirm the table knows, and stops when the phone locks or you leave the app.
- No accounts, ads, analytics, tracking or cookies, in the app or on this site.
Where the conversation goes
Recognition and translation run in the cloud, not on the phone. While you are listening, this is the complete path:
| Who | Receives | Why | Keeps |
|---|---|---|---|
| Your iPhone | Microphone audio, only while the app is open and listening | To send it for recognition and show the subtitles | The session's text, in memory, until you tap Clear or close the app |
| Onla Translate server (UAE) | The audio stream, and the text that comes back | To relay audio and text between the phone and the two services | Recent text in memory only. Gone when the session ends; a session lasts 30 minutes at most |
| Speechmatics (EU endpoint) | The audio | Speech recognition: Arabic speech into Arabic text | As set out in the Speechmatics privacy policy |
| OpenRouter | The Arabic text and a short window of recent text for context | Translation into English, and the Catch Me Up recap when you ask for one | As set out in the OpenRouter privacy policy and the terms of the model provider it routes the request to |
Audio is sent over an encrypted connection (WSS). The server holds the provider keys; the app never has them.
What stays on your phone
- The server address and the "show Arabic" preference, in the app's settings.
- Your access token, in the iOS Keychain.
- The current session's subtitles, history and recap, in memory. Clear erases them; so does closing the app.
What the server logs
The server logs only warnings and errors, so it can be kept running. It never logs audio, subtitles, translations or recaps. There is no access log; an error entry can include the network address of the request that failed.
Tell the people around you
Everyone whose voice is picked up should know that their speech is sent to these services. The app asks you to confirm this before every listening session. That confirmation is a reminder, not legal clearance, and the people you are with may still say no.
This website
onla.si is a static site with no cookies, no analytics and no third-party requests. Its fonts and images are served from this server. The status dot on the home page asks this same server whether it is running; that request carries no personal data.
Changes and questions
Onla Translate is a personal project in private testing. If this note changes, the date at the top changes with it. If you were given access and have a question, ask the person who invited you.