A leading Israeli insurance and finance group had an AI assistant that kept inventing answers. The fix wasn't a cleverer model — it was rebuilding the data underneath it, and refusing to let the model speak when the data couldn't back it up.
The assistant answered fluently, and often invented what it didn't know. In a regulated, numbers-critical business, a confident wrong answer is worse than no answer at all.
So we stopped working on the model and looked underneath it. The organisation's knowledge was scattered across an ERP, a CRM, spreadsheets and years of old service reports — each holding its own version of the truth. Product and part codes disagreed across systems by roughly 30%, and that inconsistency was the direct source of the hallucinations: asked a question, the retrieval kept surfacing contradictory records, and the model filled the gaps by guessing.
The model was doing exactly what it was told. It was the data foundation that couldn't be trusted — the real reason AI fails on enterprise data.
Six moves, in order — from mapping the mess to putting the model back into production on data it could trust.
We paused the model and mapped every source feeding it — ERP, CRM, spreadsheets and legacy service reports — then quantified the gaps. The ~30% mismatch in product codes between systems was the single biggest driver of the invented answers.
Continuous processing that removes duplicates and contradictions, strips garbled characters out of text reports, and normalises raw values — dates, currencies, codes — into one consistent format the retrieval can rely on.
Every unit of information tagged with its department, sensitivity and validity, and long documents broken into small, self-contained pieces — so the search layer can pull one specific fact without dragging in background noise.
The retrieval layer, wired to the organisation's identity directory, checks who is asking on every query and exposes to the model only the records that user is actually cleared to see. Access control isn't bolted on — it's part of retrieval.
If the search can't find a match with at least 85% certainty, the model is forbidden from answering. A fixed fallback — "the information isn't in the updated system" — hands the question to a person instead of a guess.
We reconnected the model to the cleaned data, ran load and accuracy tests against hard edge-case questions, and took it live for field staff and branch managers — answering only from data it could stand behind.
The fix was never a better model. It was a foundation the model could trust, and a rule against speaking when it couldn't.
The assistant now answers only from clean, permission-scoped data, cites the record behind each answer, and says plainly when the information isn't there. It runs in production for field staff and branch managers across the group.
The roughly 30% code mismatch between systems — the direct source of the hallucinations — was found and resolved, and no answer now leaves the system below an 85% confidence match. What used to be a guess is now a controlled hand-off to a human.
The discipline is the point: retrieval scoped to what each user may see, a real confidence floor rather than a hopeful one, and a human fallback for everything the data can't answer. That is the distance between a demo that dazzles once and a system a regulated business can actually run on — the execution gap, closed.