Contextator MCP documentation server Back to dashboard

Privacy Policy

Last updated: 19 September 2026

Contextator is self-hosted software. It has no analytics and no telemetry: it never reports anything back to its authors, and the people who wrote it have no access to any data in your installation. It does manage user accounts — but those exist only inside your own installation, and nothing about them leaves it.

1. Two different things

This policy covers the Contextator software — the server and dashboard you are looking at — and the product website at contextator.com. It does not cover the installation you are using if somebody else runs it: in that case the operator of this instance decides what is stored, for how long and who may see it. Ask them, not us.

2. What the software stores

Everything below is written to the database and disks of the machine running this instance, and nowhere else:

Deleting a project or a source deletes its documents, chunks, embeddings and materialised files. Deleting a user account deletes its sessions and memberships immediately; documents that person uploaded belong to the project and stay with it. Signing out, changing a password and "sign out everywhere" each delete the sessions they end. The database and the data directory are ordinary volumes: backups, retention and access control are the operator's responsibility.

3. What your browser stores

After you sign in, the dashboard sets one cookie, contextator_session. It holds an opaque session id, is HttpOnly and SameSite=Lax, and is deleted when you sign out. Nothing else is kept in the browser: the localStorage key that older versions used for the admin token is gone, and the dashboard clears any leftover automatically. Details are on the Cookie Policy page.

4. Logs and the search query log

The server writes operational logs to standard output: startup information, index run progress and errors. Per-request HTTP logging is off unless the log level is set to debug or trace. Where those logs go and how long they are kept is decided by whoever runs the container.

Failed sign-in attempts are logged with the username that was tried and the address it came from, so an operator can see an attack in progress; account creation, password resets and deletions are logged with the administrator who did them. Passwords, password hashes and session tokens never reach the log. A search that the server declines to answer, because nothing scored well enough, is written to this log with the question that was asked.

Search queries

Every search of a project is also recorded in the database, with the question as it was typed and the excerpts that came back. It is not an operational log line that rotates away: it is a table, it is queryable, and it is meant to be read — that is the point of it. Without it this software cannot tell an operator that their documentation fails to answer something, because a single search cannot: a question about a feature that does not exist scores about as well as one the documentation answers, and only the same question arriving forty times in a week says anything.

Whoever types a question into an agent decides what that question contains. If the people using this instance would put something confidential into a search box, that is a reason to shorten the retention or to switch the log off — and a reason to say so to them, which is the operator's job and not this page's.

5. When data leaves the machine

A default installation makes exactly one kind of outbound call, and only once. The rest happen only if you configure them:

There is no usage tracking, no crash reporting and no update check.

6. Who can see what

An account is one of three roles. root and admin reach every project and manage accounts; a member reaches only the projects it has been added to, as a viewer that reads or an editor that can add sources, upload files and re-index. Every one of those rules is enforced on the server, not in the browser.

Accounts do not reach the MCP endpoints; those have their own door. A project's /mcp/<project> endpoint is open unless the operator closes it, and while it is open anyone who can reach that URL can read that project's indexed documents — whatever their role here, or without an account at all. An operator can require a bearer token on any project, after which only a client holding one of that project's tokens is answered. A token carries no identity: whoever holds it reads everything indexed in that project. Either way, keeping the server on a private network or behind an authenticating proxy remains the operator's decision.

7. MCP clients

An AI agent connected to /mcp/<project> receives the excerpts and documents it searches for, and whatever the agent does with them is governed by that client's own privacy policy. Whether the agent needs a token to connect at all is the operator's choice, per project; see Who can see what above.

What the server records about a connected agent is what it asked. Every search_docs call is written to the search query log described in section 4 — the question in the clear, the excerpts returned, and which of the project's MCP tokens the agent presented, if any. It records nothing else about the agent: no address, no client name, no identity, because a token carries none. An open project verifies no token, so its queries are recorded with no attribution at all.

The token itself is still stored only as a hash, with the time it was last used, and is still not recoverable. What changed is that the questions asked through it are now kept beside it, for as long as SEARCH_QUERY_LOG_RETENTION_DAYS says, and can be switched off per project or instance-wide with SEARCH_QUERY_LOG=0.

The one other thing an agent can write is a report_gap report, the question it could not find an answer to and an optional note. It is stored and kept like the questions above and goes off with the same switch; see section 4.

8. Personal data

Contextator is a documentation indexer; it does not profile anyone. The names and e-mail addresses of the people you give accounts to are personal data, and so is anything personal inside the documents you index. In both cases you are the controller and this software is a processor running on your own hardware — the usual duties (lawful basis, retention, deletion, access requests) stay with you.

9. The product website

contextator.com is a separate, static product site. It is served with no advertising and no cross-site tracking; any server-side request logs it keeps are used only to operate the site and to keep it available.

10. Changes and contact

This policy may change as the software changes; the date at the top always says when it was last revised, and a revision applies from the moment it is published. Questions about the software or this policy go to contextator.com. Questions about the data in this installation go to whoever operates it.