Le Confidant
Articles

Which AI Models Analyse Your WhatsApp Chat? A Straight Answer

Short answer: your report is produced by an ensemble, not a single AI. The statistics are computed by ordinary code with no model involved. The written analysis and the assistant run on a large language model from OpenAI. A search index built from embeddings lets the assistant find the right messages. And a fourth layer, added this month, is a new class of model called Jev, which measures what the language model used to estimate.

Most products answer this question with "powered by advanced AI." That phrasing exists to avoid the answer. Below is the actual one, layer by layer — including which parts of your report are not produced by AI at all.

Why an ensemble instead of one big model

The instinct is to send the whole conversation to the largest available model and ask it for everything. It is one integration and it demos well.

It is also the wrong shape for this problem, because the questions in your report are not the same kind of question.

"How many messages did each of you send, and how has your average reply time moved since March?" is arithmetic. There is one correct answer, it is in the file, and a language model asked to produce it is doing something strictly worse than counting — it is estimating a number that could simply be computed.

"What changed in how you two talk to each other?" is interpretation. No amount of counting produces that paragraph. It needs a model that understands language.

Those jobs go to different machines here. That is what the word ensemble means in this context: not several brands of the same thing averaged together, but different kinds of system, each doing the part it is actually good at.

Ready to analyze your conversation?

Upload your exported file to Le Confidant and get instant insights into communication patterns, response times, emotional sentiment, and more — no account required.

Analyze my chat →

Layer one: the statistics are not AI at all

Message counts, who writes more, who starts conversations, response-time distributions, activity across months and hours, the socio-linguistic measures — all of it is computed from your pseudonymised text by conventional code and established natural-language-processing libraries. No large model is in this path.

This is why those numbers are identical every time you analyse the same file. They cannot drift between runs and they cannot be invented, because nothing is generating them. They are counted.

It is the least glamorous layer and the one we would defend hardest. A statistic produced by arithmetic is a fact about your conversation. A statistic produced by a language model is that model's impression of your conversation, wearing a decimal point.

Layer two: the language model

The semantic analysis — sentiment, engagement, conflict, clarity, relationship health — and every exchange you have with the assistant run on a large language model from OpenAI.

To be direct, as we are on our privacy page: this means the pseudonymised text of your conversation is sent to that provider's API. It arrives with no account, no email, no phone number, and no real names, because those were replaced in your browser before anything was uploaded. Under the API terms that provider operates on, the content is not used to train their models.

We deliberately do not publish exact model versions. They change as better ones ship, and a version number on a marketing page is stale within months. What matters is the category and the provider, and those are stated above.

Layer three: the search index

So the assistant can answer "did we ever argue about money" without you having typed those exact words, your conversation is split into chunks and converted into embeddings — numerical representations of meaning. That index belongs to your analysis alone and is deleted along with it.

Layer four: Jev, and what it changes

This layer is new — it went live with this article — and it is worth explaining properly, because it is a genuinely new kind of component rather than a bigger version of the last one.

Jev comes from TypeSafe AI, a San Francisco lab founded by Diogo Almeida, a co-author of the InstructGPT paper behind ChatGPT. It came out of stealth in September 2026 and developers noticed immediately, for a reason that is unusual: Jev does not write.

It is what its makers call a System One model, after Daniel Kahneman's fast, intuitive mode of thinking. You give it some state and a typed question, and it returns a typed answer with a calibrated probability attached. Not a paragraph. A value and a number expressing how confident it is. Because the possible answers are defined in advance, there is no space in the output for it to invent one — the failure mode that makes people distrust AI analysis is structurally absent. It was trained entirely on synthetic data, and it is fast and cheap enough to run over an entire conversation rather than a handful of retrieved excerpts.

Here is why that matters for a report about your relationship.

Until now, semantic scores here were produced the standard way: retrieve the relevant passages, hand them to a language model, ask for a conflict score between 0 and 1. It works, and it has three flaws we were never comfortable with. The number is an impression rather than a measurement. It is not reproducible, because different passages surface on different runs. And it cannot show its work — asked "which messages?", a model that formed an impression will happily construct plausible quotes after the fact.

With Jev, the order inverts. Every turn in the conversation gets read, and narrow factual questions are asked about each one — is this dismissive of what was just said? is this an attempt to repair after friction? does this reply engage with the substance or deflect it? Each answer is a probability attached to one specific turn, and all of them are stored.

The scores are then computed in code from those stored labels, exactly like the message counts in layer one. The language model still writes the prose explaining the section, because that is what language models are for — but it is handed finished numbers, and every figure is overwritten with the computed value before it reaches you. The model does not get to round, adjust, or improvise a statistic.

What that buys you: scores that are reproducible, coverage of the whole conversation instead of whichever passages retrieval happened to surface, and findings traceable to specific messages with timestamps. "Where did this come from" now has an answer made of evidence rather than reconstruction.

If you have analysed a conversation here before, this is the layer that changed. The statistics you saw are unchanged — they were already counted. The semantic sections are the ones now built on measurement, and what your statistics actually mean is worth a second read with that in mind.

Ready to analyze your conversation?

Upload your exported file to Le Confidant and get instant insights into communication patterns, response times, emotional sentiment, and more — no account required.

Analyze my chat →

What we settled before switching it on

The engine was finished well before it was switched on. It sat behind a flag while it was run end to end, evaluated across all six languages we support, and calibrated against a reference set — and while we dealt with the part that had nothing to do with accuracy.

Adding this layer means your pseudonymised conversation is sent to one more company than it reached before. We were not willing to do that quietly. The provider is named on our privacy page alongside the terms their data is handled under, and that page went up before the first conversation reached them — not after. Neither provider trains on what we send them, and as with every other layer here, what we send carries no account, no email, and no real names.

The other half of that is what happens on our side, and it is the part we would point at first. Nothing here is kept. When your analysis expires, the uploaded file, the statistics, the written sections, the per-turn measurements behind the semantic scores and the search index with its embeddings are all destroyed — by a scheduled process in separate infrastructure that does not need this website to be working. What is left is an identifier and a couple of dates recording that an analysis happened. There is no corpus of conversations here to train on, sell, or leak, because we do not keep one.

This was slower than shipping it would have been. It is the same reasoning that put the name-replacement step in your browser rather than on our servers: privacy guarantees that survive contact with reality are structural, and structure gets decided before launch, not bolted on after a feature ships.

Questions people ask

Does any AI company use my conversation to train on? No. Both providers in this path operate under API terms that exclude submitted content from model training, and TypeSafe states that Jev is not fine-tuned or adapted on customer data — the same weights serve every account. We do not train any model of our own on your conversations either, and we could not: your data is destroyed when the analysis expires, so there is no corpus to train on.

Can the AI figure out who I am? Not from what we send. Participant names are replaced in your browser before upload, there are no accounts, and no email or phone number exists on our side to attach. A model can observe that Person A replies more slowly at weekends. It has no route from there to your identity.

Why not just use the single best model for everything? Because "best" depends on the job. Counting messages does not need intelligence, it needs arithmetic, and a language model doing arithmetic is a worse calculator with a confident tone. Interpretation needs a language model. Labelling thousands of turns consistently and cheaply needs something like Jev. One model doing all three does each of them worse.

Is a score of 0.62 for conflict a fact? It is now a computed figure rather than an impression — arithmetic over thousands of individually labelled turns, reproducible across runs, and traceable to the messages behind it. That is a real improvement over an estimate, and it still describes a conversation rather than settling an argument. Treat it as a well-founded starting point for your own thinking, not a verdict.

Did my older analysis use this? No. Analyses run before this month used the language model to produce semantic scores directly. The statistics were counted then and are counted now, so those are unchanged — it is the semantic sections that improved.

What if I have not exported my chat yet? Our step-by-step export guide covers both iPhone and Android. Nothing is uploaded until you have replaced the participant names in your browser.

Related articles

Which AI Models Analyse Your WhatsApp Chat? A Straight Answer | Le Confidant