Reference build — demo on synthetic documents
A deal room where the AI never sees the internet
Law firms and advisories keep asking the same question: can we get what ChatGPT does without handing client documents to someone else's servers? We built the answer as something you can watch — a private deal room running on an open-source model on our own GPU.
Client
None — demo on synthetic documents
Field
Legal & M&A document review
Built
July 2026
Runs on
Open WebUI + Ollama, Qwen 2.5, own GPU
Asked about someone the documents never mention, it refused. In legal work that refusal is the feature.
- 0tokens sent to a third-party APIevery answer generated on hardware we control
- 5facts pulled from the documents, each citedvalue, deadline, penalty, governing law, pricing
- 1question it refused to answera party that appears in no document — it said so instead of inventing
- ~2 minfrom cold start to a running private model
The problem: the tool that helps is the tool you're not allowed to use
A due-diligence team reads the same twelve documents looking for the same six numbers. It is exactly the work a language model is good at, and exactly the work a confidentiality undertaking forbids you to paste into a public one.
So the choice on offer is usually: break the undertaking quietly, or keep reading by hand. Both are bad answers to a solved problem.
What we built
A private workspace with the deal documents loaded as a knowledge base, and three assistants on top of it: a deal-room analyst that answers with citations, a contract reviewer that returns a clause-by-clause risk table, and a drafter for client correspondence. Slash commands cover the requests that repeat — risks, summary, redline, plain English.
The model runs on a GPU we control, behind our own front end. Nothing is sent to OpenAI, Anthropic or anyone else, because there is no one else in the path. For a real deployment the same stack goes into the client's own cloud account, under their keys.
- Answers are grounded in the documents and carry a numbered citation back to the source
- Function calling, so it can combine the documents with a calculation — days remaining to a deadline it read from a contract
- Admin controls over who may use which model and which knowledge base
- Reproducible from a single provisioning script, so a client deployment is not a hand-built snowflake
The moment that convinces lawyers
We asked it about the chief executive of a company that appears in none of the documents. It declined, and said the documents do not contain that.
That is the whole argument. A system that invents a plausible name is worse than no system at all in this work, and every buyer in this field tests for it within the first five minutes. The grounded answers — €47.5M enterprise value, exclusivity expiring 15 August, a €250,000 breach penalty under Polish law — all came back exact and cited.
See it working
Loads only when you press play, so nothing is requested from Loom until then.
What this case does not claim
There is no client here and no outcome to report. The deal, the parties and the documents were written for the demo, so nothing above is a result — it is a demonstration that the architecture works and behaves correctly, including when the honest answer is 'that is not in the documents'. The demo GPU sits outside the EU; a real engagement is deployed inside the client's own EU cloud account, which is the point of the offer.
See it on your own documents
The fastest way to judge this is to watch it read something of yours. We deploy it into your cloud, under your keys, and you decide afterwards whether it earns its place.

