Default: no LLM involved
bhubharati.dhethi.com),
the built-in assistant is a deterministic, rule-based
field guide. It answers from fixed logic and the
records already loaded in your session. No prompt, record, or
file is sent to any language model provider in this mode.
The rest of the product — the district/mandal/village explorer, record fetch, search, sort, filter, and CSV/JSON export — never involves a language model at all, in any configuration.
Optional mode: OpenAI
The backend can optionally route the /chat
endpoint through OpenAI's Responses API instead of the
deterministic field guide. This is an operator-level switch
(OPENAI_ENABLED), off by default in the source
code and explicitly kept off in our production Docker
deployment, which also does not forward an OpenAI API key
into the container. A self-hosted operator who supplies their
own key and turns this on is choosing to use OpenAI on their
own instance.
What would be sent (if this mode were enabled)
- the text of your chat message;
- a bounded set of already-fetched record fields relevant to answering it — at most a few hundred rows, or a short-lived server-side summary of the currently loaded village;
- results of a small, fixed set of read-only tool calls (e.g. "list survey numbers for this village") that the model is allowed to invoke through MCP, so it can look up hierarchy or record facts instead of guessing.
What is never sent
- the full multi-thousand-row village payload — the tool set the model can call is intentionally bounded and returns summaries plus a capped number of matches, not the whole dataset;
- anything about you personally — there's no account, email, or identity to include;
- write access of any kind — the model's tools are read-only, so it cannot alter cached or upstream data.
The provider's own terms
If a self-hosted operator enables the OpenAI mode, that traffic becomes subject to OpenAI's own API data-use terms in addition to this site's. As of this writing, OpenAI states that API inputs and outputs are not used to train its models by default; verify the current terms directly with OpenAI before relying on that, since third-party policies can change independently of this page.
Is anything used to train a model?
We do not use any data — chat messages, fetched records, or exports — to train or fine-tune a model ourselves. We don't operate a model at all; the optional mode above only calls a third party's hosted model per-request.
How to check what's active
A deployment's /api-info endpoint lists current
capabilities. The README and deployment configuration for
this project explicitly document
OPENAI_ENABLED as the switch; on
bhubharati.dhethi.com it is set to
false, and no API key is forwarded to the
container, so the OpenAI path is not reachable in production
today.