Skip to content

§Document retrieval

Ask questions of
your own documents.

We build retrieval systems that answer from material you already have. Every answer carries a citation to the passage it came from, so whoever reads it can check the source in a few seconds instead of taking it on trust.

Built forHealthcareLegalHigher education

The problem

Your most useful documents are the ones you can’t paste into a chatbot.

The contracts, the protocols, the case files, the incident reports. People need to ask questions about them every day, and your obligations say they can’t be sent to a third party.

A general-purpose assistant has never seen any of them. Ask it anyway and it produces a fluent, confident answer out of what it picked up in training. That is worse than a refusal, because it looks like an answer.

The fix for both problems is the same. Keep the documents and the model on your side of the boundary, and make every answer show where it came from.

What we do

Document retrieval, done properly.

This is where we spend our time and where the depth is. If you are working on something next to it, ask — there is a good chance we can help or point you at someone who can.

Document retrieval

Ask your documents. Every answer cites its source.

A question-answering layer over documents you already have. Answers come back with citations, the quotations are lifted straight out of the file, and readers only ever see material they are cleared for.

  • Ingestion for PDF, DOCX and Markdown that tracks where each passage sits in the original file
  • Keyword and semantic search run together, with access control applied inside the search itself
  • Each claim checked against the source it cites before the answer reaches the reader
  • Conflicting and superseded versions flagged rather than quietly chosen between

Where it runs

Everything stays inside your boundary.

Documents, index, model and answer all sit in infrastructure you already control. Nothing is sent to a model vendor, so there is no new party for your reviewers to assess and no data-processing agreement to negotiate.

Where a private retrieval deployment sits relative to your network boundaryYour documents, the retrieval index, the language model, and the cited answer all sit inside your network boundary. The connection to external model vendor APIs is crossed out: no prompt, document, or answer leaves the boundary.Your networkYour documentsPDF · DOCX · MDRetrieval indexembeddings + lexicalLanguage modelrunning in your environmentCited answerverified claimsNo route outModel vendor APIsOpenAI · Google · Anthropic
Fig. 1A private retrieval deployment. The crossed connection is the one that does not exist.

The system inherits the controls you already have. Your network segmentation, your identity provider, your logging, your change management. The deployment sits inside them rather than beside them.

Proof

There is a working system you can look at.

A retrieval deployment over a corpus of policy documents, with verified citations, conflict detection, version tracking and per-reader access control. It runs; ask and we will show you.

Live system

“What approval do I need before making a purchase?”

Two policies are in effect. One sets the threshold at $500, the other at $1,000. A normal assistant picks one and states it confidently. This one reports the conflict, shows both sources, and declines to choose.

That is the behavior worth paying for. It sends a real problem back to the people who can fix it, instead of papering over it.

Abstains when the documents do not answer the question, instead of guessing

Tracks versions so a retired policy cannot be quoted as if it were current

Records every verdict in an append-only ledger, where re-checking writes a new record

Times every stage and stores the trace alongside the answer

Why the answers hold

How the system checks its own answers.

These three properties come out of how the pipeline is built rather than from testing after the fact, which is what makes them worth showing to a reviewer.

01

A citation always points at a document that was actually retrieved

Retrieved passages get opaque labels that only exist for that request, and the model can only cite from that closed set. It never sees a document identifier, so there is nothing to invent.

02

A quotation always matches the file it came from

The model is told not to quote at all. Quotations are cut out of the stored document afterwards, using character positions recorded when the file was ingested.

03

A reader only retrieves what they are cleared for

The permission check sits inside the search rather than running over its results, backed by row-level security in the database. A code path that forgets to set scope raises an error instead of quietly returning everything.

Claim checking is done by a separate model from the one that wrote the answer, and it does not follow the reader’s model selection.

Security

Built to pass the review you already have to pass.

Our posture is written down before anyone asks for it: where your data sits during an engagement, and which compliance frameworks genuinely apply to a system running inside your own boundary.

Where your data sits
In your tenant, under your identity provider and your logging
Model training
Nothing is sent to a model vendor, so there is no corpus for anyone to train on
Access control
Enforced inside retrieval, backed by row-level security in the database
Questionnaires
HECVAT, SIG Lite and CAIQ are all fine. Send yours over

Who you would be working with

You work with the engineer directly.

The person who scopes the work is the person who writes it, and you will know their name before you sign anything.

For a security reviewer that is easier to assess, not harder. A named engineer with a public record of their work is a known quantity in a way that “a resource from the delivery pool” never is.

Next step

See it running.

We will show you the system answering real questions over a policy corpus, including the cases where it refuses to answer, and give you access to try it yourself. Bring the documents you have in mind and we will talk through what it would take to do the same with them.

Useful to know beforehand

  1. 01Roughly how many documents are in scope, and what formats they are in
  2. 02Who is allowed to read what, and how that is enforced today
  3. 03Any framework you are assessed against

Questions

What people ask first.

Something not answered here? Send it over and we will answer it directly.

How is this different from Copilot or ChatGPT Enterprise?
Those are good products, and for a lot of organizations they are the right answer. They are hosted services, so your prompts and documents are processed on the vendor’s infrastructure under the vendor’s contract. If your obligation is that particular documents never leave your network, no contract term changes where the processing happens. That is the case this practice exists for.
What document formats can you work with?
PDF, DOCX and Markdown as standard. Ingestion keeps track of where each passage sits in the original file, which is what makes exact quotation possible later.
Can it respect the permissions we already have?
Yes, and it has to. Access control is applied inside the search itself rather than filtering results afterwards, so a document a reader is not cleared for is never a candidate in the first place. That is backed by row-level security in the database.
What happens when the model is wrong?
Assume it will be. The system checks each claim against the source it cites before you see it, drops the claims that do not hold up, and says nothing at all when the documents do not answer the question.
How do we try it?
Ask for a demo. We will walk you through a running system answering questions over a corpus of policy documents, and we can give you access to try it yourself. If you want to see it against your own material, that is a short piece of work we can scope on the same call.