Your family app just added AI. What happens to the photo you send it?
Written 12 August 2026 by the makers of Somiya, which has AI features and therefore has to answer all of this about itself.
Every family organizer is adding AI right now, and the pitch is the same everywhere: stop typing, just send the school letter. It is a genuinely good pitch — manual entry is the thing that kills these apps — and we built it too.
What almost nobody publishes is what the photograph does next. That page is missing from most of these products, so here is ours: what actually happens to that image, the five questions worth asking any app that offers this, where to find each answer without taking anyone's word for it, and our own answers in full.
What "send us a photo" actually involves
When you photograph a school letter and an app turns it into an event, roughly this happens:
- The image leaves your phone and goes to the app's servers. (On-device extraction exists but is rare, and apps that do it say so loudly, because it is expensive to build.)
- The app sends it to a large language model — almost always someone else's: Anthropic, OpenAI, Google. This is a second company, in a second jurisdiction, under a contract you are not party to.
- The model returns text: a title, a date, a person.
- Something creates a calendar entry from that.
Every interesting question lives in steps 2 and 4. Step 2 decides who else sees your child's name and your home address. Step 4 decides what happens when the letter contains something the model should not have obeyed.
The five questions, and where the answer is
These are checkable in about ten minutes for any app, including ours. We have deliberately written where to look rather than a table of competitors' answers — see the note at the end for why.
1. Is the content retained, and for how long?
The term of art is zero data retention: the model provider processes the request and keeps nothing. Without it, your content may sit in a provider's logs for a period — often 30 days — for abuse monitoring.
Where to look: the privacy policy's AI or "how we use your data" section. If it describes retention for the app's own database but is silent about the model provider, that silence is the finding.
2. Is it used to train models?
Consumer AI products often train on user content by default; business API agreements usually do not, but "usually" is doing a lot of work in that sentence. The two are different contracts and an app can be on either.
Where to look: a sentence naming training explicitly. "We do not sell your data" is not the same statement and is often used in its place.
3. Is the AI provider named as a sub-processor?
Under GDPR, a company processing your data on an app's behalf is a sub-processor and should be listed. A named list is a real signal: it means someone did the legal work, and it lets you check the second company's terms yourself.
Where to look: a sub-processor table or list in the privacy policy. An app with AI features and no AI provider in that list has an inconsistency worth asking about.
4. Where does the processing physically happen?
Note that this is a different question from where the company is. A European company can, and frequently does, store and process on US infrastructure — FamilyWall's own policy, for one, says personal information may be stored and processed "in the EEA, USA and any other country", and it is a French company. If jurisdiction matters to you, the company's address is not the answer to it.
Where to look: the "international transfers" section, and any mention of Standard Contractual Clauses — which are the mechanism for moving data out of the EU, so their presence tells you data moves.
5. What stops the letter from giving the model instructions?
This is the one almost nobody asks, and it is the most interesting. See below.
The risk that is specific to reading things: prompt injection
A language model reading a document cannot reliably tell the difference between content and instructions in the content. So a flyer, a forwarded email or a pasted message can contain a line addressed to the model rather than to you — and the model may follow it. This has a name, prompt injection, it sits at the top of the OWASP list of language-model risks, and here is the part the industry does not like saying out loud:
There is no complete fix. Not ours, not anybody's. Any app that tells you its AI is immune to this is telling you something untrue or something it has not checked.
What can be done is to make a successful injection boring. The damage from injection is proportional to what the model is allowed to do. If the model can send email, call APIs, or write to your data, an injection is a real incident. If the model can only fill in a small typed form that a human then confirms, the worst case is a wrong draft that you decline.
So the useful question to ask a family app is not "is your AI safe from prompt injection" — the honest answer is no — but "what can your AI actually do?" The narrower that answer, the less an attacker gains by getting inside it.
Our answers, in full
Held to the same five questions, plus the design that limits the fifth.
| Question | Somiya |
|---|---|
| Retention at the model provider | Zero Data Retention agreement with Anthropic — content sent for extraction is not retained beyond transient processing |
| Training on your content | No. Excluded by the same agreement |
| Named as a sub-processor | Yes — Anthropic is listed in the privacy policy, with the rest |
| Where the rest runs | EU-owned infrastructure in the EU (Hetzner, Germany; Scaleway, France). Not AWS, GCP or Azure, in any region |
| What the AI can do | Return one typed draft. It cannot write to your family's data, call tools, send anything, or fetch a URL |
| What is stored from a capture | Only the fields you confirm. The photo itself is never stored — not on our servers, not in the device cache |
Four design rules make the last two true, and we treat them as invariants rather than preferences:
- Propose, then confirm. The model returns a draft with a confidence score. The real event or task is created by you, through the ordinary interface, with the ordinary permission checks. There is no path where extraction writes to family data directly — so a manipulated model produces a draft you reject, not an entry you never noticed.
- The output shape is fixed in advance. Each extraction must come back as a specific typed structure, pinned at the API level rather than parsed out of prose. A model under instruction to "return something else" cannot; the shape is not up to it.
- Extracted text is data, never markup. Anything the model produces from your document is attacker-influenced text, so it is never rendered as HTML, never in a web view, never as markdown that can carry HTML. A title cannot become a link, a script or a button.
- The server does not follow links found in content. If a document contains a URL, it stays text. We do not fetch it — fetching things named by untrusted content is how an extractor gets turned into a probe of the network it runs in.
There is also a boring layer that matters more than it sounds: file-type allowlists, size caps, rate limits and a monthly spend ceiling. Those exist because the other thing hostile content can do is simply cost you money.
Why there is no comparison table here
You will have noticed this page tells you where to look instead of listing what everyone else's policy says. Two reasons, and the second is the real one.
First, these terms change quietly. A table of competitors' AI clauses is out of date within months and we would be the last to notice, because nobody writes to tell you your criticism of them has expired.
Second: when we researched this page, several of these apps' policy pages could not be retrieved by us at all. We are not going to characterise a competitor's data handling from search snippets and review sites — that is how a confident, wrong sentence about somebody's business ends up on the internet with our name on it. Where we quote another company on this site we quote text we read on their own page and date it, as with the FamilyWall line above. Where we could not read it, we say to go read it, and we mean it.
Questions
Is it safer to use a family app with no AI at all?
Against this particular risk, yes — you cannot be prompt-injected by a form you typed yourself. It is a real option and worth considering honestly. What you trade is the manual entry, which is the thing that historically ends up abandoning the app. Every other question on this page — retention, jurisdiction, training, export — applies just as much to an app with no AI in it.
Does Somiya read my family's data to improve the product?
No. Family content is not used for training, for analytics or for advertising, and there is no analytics SDK in the app. We measure the sign-up and subscription funnel and read our own web-server log, which is described in the privacy policy.
Can I connect my own AI assistant instead?
Yes, and it is held to the same rule. Somiya has an MCP server: your assistant reads the family calendar and tasks through a token you mint and can revoke, and when it wants to add something it files a suggestion you confirm in the app. It never writes to your family's data itself. The same reasoning as above decides it — an assistant that reads untrusted content should not be holding a delete button.
What if I don't want to use the AI features?
Then don't — nothing is sent anywhere unless you initiate a capture. Adding an event or a task by hand goes nowhere near a model, and the app is fully usable that way.
Do you use AI to decide anything about my family?
No. It extracts and it classifies, and a person confirms the result. Nothing profiles you, scores you, or makes an automated decision with a legal or similarly significant effect.
Somiya is a family organizer built the way this page describes: photograph it and it becomes the right task for the right person, with nothing stored that you did not confirm. EU-hosted, encrypted on both ends, no ads and no trackers. €9.99 a month or €59.99 a year for up to 8 people, 14-day free trial.
If something here is wrong, or one of our claims does not survive your checking, we would genuinely like to know: hello@somiya.app.