Bina.ai
Turning CNIL data-breach sanctions into funding briefs for collective actions, with every quote checked word for word against the decision.
- Event
- Mistral LLM × Law Hackathon
- Where
- Paris, October 2026
- Result
- First place, team of five
- Stack
- TypeScript, Express, Mistral API

What it does
Hosted by Mistral AI, sponsored by Stanford Law School, Legora, Hector AI, Jus Mundi and Sciences Po.
Sheharyar Ishfaq built the backend of Bina.ai, which won first place at the Mistral LLM × Law Hackathon in Paris in October 2026 with a team of five. Since the French law of 30 April 2025, an association can bring a collective action on behalf of people hurt by a data breach. When the CNIL sanctions a company, its decision already establishes the fault, the facts and who was affected. Bina finds those decisions, turns each one into a funding brief an association can send, and matches it with litigation funders.
The hard part is trust. A funder can't act on a brief that misquotes the ruling, so every quote in it is checked by code against the decision before anyone reads it.

How it works
The quote check
The model proposes quotes; code decides whether they stand. Each quote is normalised (apostrophes, dashes, hyphenation, spacing) and must appear on the cited page or a neighbouring one. If it doesn't, the checker tries to repair it from the decision's own words, but only when negations and numbers are identical, so a fix can never flip the meaning. Quotes that still fail are dropped from the pitch and marked as not found in the brief and the chat.
The regulator found that “the company did not implement measures appropriate to the risk” and noted that “customers were never informed of the breach”.
Press the button to check both quotes.
… the restricted committee considers that the company did not implement measures appropriate to the risk, within the meaning of Article 32 of the GDPR. The customers concerned were informed by email on …
On the Free Mobile decision, 16 of 16 quotes in the brief were verified, four of them after repair; on the 153-page EU decision, 14 of 14.
My part
I built the backend: the Express and TypeScript API, the Mistral pipeline, the quote checker, the radar and the funder matching, about 160 commits over the hackathon weekend and the week after. One teammate built the first version of the interface, which I then wired to the API, and three law students owned the legal method: the rules in the prompts, the damage tables and the funder list.

Hard calls
Anything a funder relies on has to be traceable, so verification is deterministic code, not a second model call. Page and paragraph numbers are located by code as well, never taken from the model.
Claim values, opt-in rates, the funder's share and the scores come from the legal team's tables in code. The model extracts facts; the numbers are computed, so the same decision always gives the same brief.
A CNIL sanction proves a regulatory breach, not liability to each victim. Bina never states a chance of success: it is forbidden in the prompts and filtered out of the answers in code.