Private Document Q&A

Productivity

Index your own documents on your own machine, then ask questions in plain language; answers come with the source passages they were drawn from. It starts with Docker Compose (a web UI, a backend API and a retrieval API), and the answer-generating model is served by the Ollama on your machine. Derived from a frozen snapshot of an MIT-licensed open-source project; the delivery includes the orchestration file and an English quick-start guide.

SubscriptionUS$49 per month
Last run2026-11-12
In practice
Readiness3 / 5
What you need
Few changes needed4 / 5

Who it is for

Individuals and small teams who want to ask questions about internal documents on their own machine rather than hand the documents to a cloud service.

How to start

$ cp .env.example .env
$ docker compose up -d --build

Browse the files

Files in the product repository at the pinned commit. A few house files are left out of the zip.

File overview237 paths
▸Documentation24
api_reference.md
architecture_overview.md
deployment_guide.md
design_rationale.md
docker_usage.md
images/
improvement_plan.md
indexing_pipeline.md
installation_guide.md
prompt_inventory.md
…
▸backend6
README.md
database.py
ollama_client.py
requirements.txt
server.py
test_gateway_routing.py
▸eval103
BASELINE.md
DECISIONS.md
README.md
build_goldset.py
corpora/
decisions/
finalize_goldset.py
goldset/
judge.py
judge_hard_cases.jsonl
…
▸public1
.gitkeep
▸rag_system38
DOCUMENTATION.md
README.md
__init__.py
agent/
api_server.py
ask_folder.py
factory.py
indexing/
ingestion/
main.py
…
▸src29
app/
components/
lib/
utils/
▫ATTRIBUTION.md
▫CONTRIBUTING.md
▫DOCKER_README.md
▫DOCKER_TROUBLESHOOTING.md
▫Dockerfile.backend
▫Dockerfile.frontend
▫Dockerfile.rag-api
▫LICENSE
▫PRODUCT.md
▫QUICKSTART.md
▫README.md
▫SECURITY.md
▫WATSONX_README.md
▫create_index_script.py
▫delivery-manifest.txt
▫docker-compose.yml
▫docker.env
▫env.example.watsonx
▫eslint.config.mjs
▫next.config.ts
▫package-lock.json
▫package.json
▫postcss.config.mjs
▫requirements-docker.txt
▫requirements.txt
▫run_system.py
▫start-docker.sh
▫system_health_check.py
▫test_docker_build.sh
▫tsconfig.json
▫Config and hidden files 6

Latest passing run

Clone → Checkout → Toolchain → Prepare env → Build images → Serve home page

Pre-purchase Disclosure

What you are buying

A question-answering tool that indexes your own documents and lets you ask questions in plain language, with answers that carry the source passages they were drawn from; it has a web interface, a backend and a retrieval service, brought up with Docker Compose on your own machine, and the answer-generating model is served by the Ollama on your machine.

Derived from an open-source project under the MIT licence, and not the original project itself; the delivery includes the orchestration file and an English quick-start guide.

Delivery is a frozen snapshot: one zip, taken from the product repository at revision d681e05.

Known limitations

  • The three services are bound to the local machine over HTTP (web on port 3000, backend on 8000, retrieval on 8001); TLS and a reverse proxy are yours to bring for any wider access
  • There is no account system
  • Ollama has to be installed on your machine first, with the two default models pulled
  • The first build needs internet access: the retrieval service downloads an embedding model from HuggingFace, and dependencies are fetched from their own repositories
  • The indexes and the database live in subfolders of the unzipped folder, which has to stay in place while the services run
  • The licences of the Ollama models and of the reranker model were not checked
  • The licences of the dependency packages were not scanned package by package
  • Pinned to the delivered snapshot; it does not follow upstream.

The liability cap, the scope of what is promised and the statutory floor are governed by the Terms of Service.

Vetting record

Everything below was checked against the pinned commit 34f3107. Every verdict carries its full reasoning, an evidence link and the checker; failures are published, not hidden — do not take our word for it, verify it yourself.

4 PASS2 WARN0 FAIL

Source ReviewPASS

Only the files on the buyer path were read: docker-compose.yml (published ports bound to 127.0.0.1; the optional Ollama service sits behind a profile and is off by default), the three Dockerfiles, .env.example and QUICKSTART.md. The upstream Python and front-end source was not read file by file; the basis is the MIT licence and container isolation. The service was not run while this was written.

Evidence is in our private repository (not publicly accessible):https://github.com/dev-zillio-cc-products/dsp-059-private-doc-qa/blob/d681e055ebd4fa00a0434e4be46ef76986e80281/docker-compose.ymlChecked in 2026Checked by claude-code build-product session
Script SafetyPASS

The files that run on the buyer path were read: the Dockerfiles install dependencies with pip and npm ci and copy in source; no download piped straight into a shell was seen in them. start-docker.sh and test_docker_build.sh exist in the repository but are not on the quick-start path and were not read.

Evidence is in our private repository (not publicly accessible):https://github.com/dev-zillio-cc-products/dsp-059-private-doc-qa/blob/d681e055ebd4fa00a0434e4be46ef76986e80281/Dockerfile.rag-apiChecked in 2026Checked by claude-code build-product session
RecencyPASS

This product is a frozen snapshot and does not follow upstream: the upstream source is pinned to the revision named in PRODUCT.md, and the product repository is that snapshot plus our own commits. No activity measurement of upstream was made.

Evidence ↗Checked in 2026Checked by claude-code build-product session
LicensePASS

SPDX:MIT

Upstream LICENSE was read (the evidence link points at the file at the pinned upstream revision): the standard MIT text, copyright line naming PromptEngineer. It allows commercial use, modification, redistribution and sale on condition that the copyright notice and licence text are shipped; upstream has no NOTICE file. LICENSE and ATTRIBUTION.md ship in the delivery.

Evidence ↗Checked in 2026Checked by claude-code build-product session
Dependency LicensesWARN

This records the declared side, not a scan result: Python dependencies are declared in requirements files and the front end in package.json with its lock file, and the packages are fetched from their own repositories when the buyer builds. These dependency trees were not scanned package by package for licences. Upstream has no submodule and no third-party dataset was copied in (see ATTRIBUTION.md).

Evidence is in our private repository (not publicly accessible):https://github.com/dev-zillio-cc-products/dsp-059-private-doc-qa/blob/d681e055ebd4fa00a0434e4be46ef76986e80281/ATTRIBUTION.mdChecked in 2026Checked by claude-code build-product session
Weights / Data LicenseWARN

No model weights are shipped. The buyer pulls the generation and enrichment models through Ollama and the embedding model from HuggingFace at build or first run; an optional reranker model is named in .env.example. Only the default embedding model has a licence statement inside the repository (.env.example calls it MIT-licensed); the licences of the Ollama models and of the reranker were not checked.

Evidence is in our private repository (not publicly accessible):https://github.com/dev-zillio-cc-products/dsp-059-private-doc-qa/blob/d681e055ebd4fa00a0434e4be46ef76986e80281/.env.exampleChecked in 2026Checked by claude-code build-product session
HEALTH VERIFIED

Last verified passing: 2026-11-12

Subscribe for everything
US$49/ monthwas US$99

A subscription unlocks the whole catalogue; you do not buy this one separately.See what is included

Sign in with Google first; if you are signed out you will be sent to the sign-in page. Your subscription is billed to that same email address.

Already subscribed? This downloads straight away. Otherwise you are sent to the pricing page, or to sign in first.