SofiLingo is a translation app. This policy explains what happens to your information when you use it.

Who we are. SofiLingo is made and operated by John Sheehy, W91 RK2W, Ireland, who is the data controller for the purposes of the GDPR. The way to reach us about anything in this policy is [email protected].

We have written this to match what the app actually does, not to describe every possibility. If a section seems short, it is because there is genuinely little to say.


The short version


What stays on your device

Everything you type and its translation. Translation for all supported languages runs on your device using downloaded language models. What you type is never transmitted.

Your scan history. Photos you scan, the text found in them, and the translations are stored in the app’s private storage on your device. They are not uploaded, backed up to us, or visible to anyone else — unless you tap Report mistranslation on one, which sends that single scan and nothing else; see below. Deleting the app removes them permanently.

Photos scanned in the other twenty-five languages. Most scanning — including English, Spanish, French, German, Portuguese, Japanese, Korean, Dutch, Danish and Czech — is handled entirely on your device. Those images never leave your phone unless you choose to send one; see Reporting a mistranslation below.


What is sent, and why

Photos scanned in thirty-three languages

Your phone’s built-in text recognition reads five scripts. Seventeen of the languages SofiLingo offers are outside all five, so a scan in one of them has nowhere to go but the cloud:

Arabic, Belarusian, Bengali, Bulgarian, Georgian, Greek, Gujarati, Hebrew, Kannada, Macedonian, Persian, Russian, Tamil, Telugu, Thai, Ukrainian, Urdu.

Sixteen more are sent because the cloud reads them far better. Your phone can read these, but it makes mistakes we can measure on our own test pages:

Chinese, Estonian, Finnish, Hindi, Hungarian, Icelandic, Irish, Italian, Latvian, Lithuanian, Maltese, Marathi, Polish, Swedish, Turkish, Vietnamese.

Chinese it read correctly none of the time. In the others it drops the accents and the word changes — Vietnamese bánh mì, bread, read as bánh mi and translated as “cake”. So a scan in these sixteen goes to the cloud when you have a connection, and is read on your phone when you do not — offline, nothing is sent.

When a photo is sent, that single image goes to our server, is forwarded to Google Cloud Vision to extract the text, and the text is returned to your device.

If you scan one of the seventeen while offline, the photo is saved on your device and sent only when you next have a connection and open the app. If you scan one of the sixteen while offline, nothing is sent at all — your phone reads it, and the photo never leaves the device.

A usage counter

To keep the service affordable we limit how many of these scans each person can make. To do this we store, on our server:

This identifier is not linked to your name, email, device, or advertising ID. It tells us nothing about you except how many scans you have made.

Scan counts older than 60 days are deleted automatically.

Purchases

Purchases are handled by Apple or Google. We never see your card details.

We use RevenueCat to manage subscriptions. RevenueCat receives your purchase history and the anonymous identifier above so it can tell the app what you have paid for.


Reporting a mistranslation

Every saved scan has a Report mistranslation button. It is the only way a photo you scanned on your own device is ever sent to us, and nothing happens unless you press it.

The first time you press it we ask, and explain what goes. Nothing is sent until you agree. Saying no leaves no record and does not change anything else about the app; you will simply be asked again the next time you press it.

What is sent: the photograph from that one scan, the text we read from it, the translation we produced, the two languages, and the app version and device model. Nothing from any other scan, and nothing from the rest of your history.

What it is used for: finding where a translation went wrong so it can be improved. Reports are stored against the same anonymous identifier described above, which is not linked to your name, because we have never asked for one.

Please only send scans you are happy to share. A photograph contains whatever the camera was pointed at, and we cannot tell a menu from a letter.

Reported photos are covered by the same deletion route as everything else — Home → shield icon → Delete my data removes them.


What we do not do


Advertising

SofiLingo is free to use. If you have not subscribed, some screens carry an advertisement, and you can watch a short video to earn more free translations. Both come from Google AdMob.

What Google receives. We do not send Google your translations, your photos, or anything you have typed or said. Google’s own advertising software, running inside the app, collects:

A device advertising identifier to select and measure ads
Which ads you were shown, and whether you tapped one
How you use the app in outline — screens opened, videos watched
Basic performance data — start-up time, crashes
Your IP address which Google uses to estimate a rough area, such as a country or city

That last one is why the list above no longer says we never touch location. Nothing reads your GPS and the app has no location permission, but an IP address does place you approximately, and saying otherwise would be untrue.

Ads can be personalised, but only if you allow it. On iOS the app asks through Apple’s own tracking prompt. If you allow it, Google may use its advertising identifier to choose ads that are more relevant to you, drawing on your activity in other apps and websites — which is what Apple calls tracking. If you do not allow it, you still see ads, but they are chosen from the app you are in and roughly where you are, without that identifier. We ourselves never build a profile of you, and we do not combine any of this with anything else we hold. The identifier above is not connected to the anonymous identifier described earlier in this policy.

If you are in the UK or EU, you are asked twice, in this order. The first time an advertisement would be shown, Google asks for your consent under European law and explains what it is for; if you decline, no advertisement is requested at all. Only if you consent does Apple’s tracking prompt follow. You can change either answer at any time: the Google choice from Home → shield icon, the Apple one in Settings → Privacy & Security → Tracking.

Paying removes them. A subscription or a Holiday pass turns off every advertisement for as long as it lasts.

Google’s own terms cover what it does with the above: Google’s Privacy Policy and how Google uses information from sites or apps that use its services.


Camera and permissions

SofiLingo asks for camera access solely to read text you point it at. You can refuse, and everything except scanning will still work.

Microphone and speech recognition. Spoken translation needs both. The app records only while you hold the microphone button, and it asks the first time you use that feature. Refuse, and everything except spoken translation still works.

Where your voice goes. If your phone has an offline speech pack for the language you are speaking, the audio is turned into text on the device and goes nowhere. If it does not — which is the case for most languages on most phones — your phone sends the audio to Apple to transcribe, exactly as it does for dictation anywhere else in iOS. That is handled by Apple under Apple’s privacy policy, and it does not come to us: we never receive the recording, store it, or pass it through any server of ours. We get the text back on the device, and the translation of that text happens on the device too.

The app does not request access to your photo library, contacts, location, or files.


Children

SofiLingo is not directed at children under 13, and we do not knowingly collect information from them. There is nothing in the app that identifies a user, so we have no way to detect a child’s use of it. If you believe a child has used the app and you want their scan counter removed, contact us at the address below.


Your rights

Depending on where you live, you may have rights to access, correct, delete, or export your information, and to object to how it is used. This includes people in the UK, the EU, and several US states.

Because we hold so little, most of these are simple:

To delete everything on your device: delete the app.

To delete everything we hold: do it yourself, in the app. Open the shield icon at the top of the home screen and tap Delete my data. That removes the scan counter and the plan record immediately — not in thirty days, and without asking us. It is the same button we would press.

It resets your cloud-scan allowance at the same time, because the counter is the allowance. The app says so before it deletes anything.

Or email us at [email protected] and include the anonymous identifier, which is shown in small print under that button. We will delete it within 30 days and confirm when done. You do not need to give a reason or identify yourself further.

To see what we hold: email the same address with your identifier. We will send you the row, which is a date, a count, and a plan name.

We do not require an account to exercise any of these rights, and we do not charge for them.

The legal basis for the processing described here is our legitimate interest in providing and protecting the service, and performance of our contract with you where you have purchased a plan.


Where information is processed

Our server infrastructure is provided by Supabase and text recognition by Google Cloud. Depending on your region, information may be processed in the United States or the European Union. Transfers out of the UK and EEA rely on Standard Contractual Clauses with those providers.


Retention

What How long
Photos sent for recognition Not retained; discarded after the request
Scan counts 60 days, then deleted automatically
Plan status Until you request deletion
Anything on your device Until you delete it or the app

Changes

If we change this policy we will update the date at the top and note what changed. If a change materially affects how we handle your information, we will tell you in the app before it takes effect.


Contact

Email: [email protected]

Telephone: +353 899860638

Data controller: John Sheehy, W91 RK2W, Ireland.

If you are unhappy with our response you may complain to a supervisory authority. Ours is Ireland’s Data Protection Commission (dataprotection.ie). If you live elsewhere in the EU, or in the UK, you may complain to your own national authority instead — you do not have to bring it to ours.