Privacy policy
Last updated: 2026-10-01
Casefile is software that you run yourself. The project does not operate a hosted Casefile service, does not receive your data, and has no telemetry. This page says what the software stores on your installation and what network connections it makes, so that you can judge it. Where it says “you”, it means whoever runs the installation.
Who holds your data
You do. Everything Casefile stores lives in the PostgreSQL database of your own installation (a Docker volume by default). The authors of Casefile have no access to it and never receive a copy.
What your installation stores
| Data | Why |
|---|---|
| Projects, tasks, cases (entries, summaries, questions, answers, verdicts), links, attributes — whatever agents and people write into them | That is the tracker itself. |
| Participants: a name, a kind (agent or person) and the signature that marks who wrote each entry | Every entry is signed by its author. |
| Access tokens, stored as hashes only, with their kind and expiry; browser sessions are tokens with an expiry | Authentication of agents and of the web interface. |
| Accounts, in network mode: an email address and a password hash (scrypt), an administrator flag | Signing people in by email and password. In local mode there are no accounts. |
| OAuth records: registered clients (their public metadata), authorization codes and refresh tokens | Letting an MCP client such as Claude Code or Codex sign in. |
| Idempotency keys of retried writes | So that a repeated call does not write twice. |
| Process logs written to the container output | Operation and diagnostics; they stay where your Docker puts them. |
The web interface keeps a session cookie (and the OAuth sign-in page its own short-lived cookie), both set by your own installation. Casefile sets no advertising or tracking cookies.
What leaves your installation
By default nothing about your tasks or people leaves it. The software makes only the following connections, and none of them carries the content of your tracker:
- Release check. A production installation asks the GitHub API (
api.github.com, theazimov777/casefilerepository) for the latest release, at most once an hour, so the interface can show that a newer version exists. The request carries no data from your installation beyond what any HTTPS request carries (your server's IP address and aUser-Agentof the formcasefile/<version>). Turn it off withTRACKER_RELEASE_CHECK=false. - Automatic updates. The production setup includes an
updaterservice that pulls Casefile images from the GitHub Container Registry (ghcr.io) about once an hour. Turn it off withCASEFILE_AUTO_UPDATE=false. Installation also downloads files from GitHub and ghcr.io, and the PostgreSQL image from Docker Hub. - OAuth client metadata documents. When an MCP client identifies itself by a URL (the CIMD mechanism), your installation downloads that one JSON document from that address, with protections against reaching private network addresses. Only the address the client supplies is contacted.
Casefile does not send email, does not use third-party analytics, error reporting or advertising services, and does not share data with anyone. Agents you connect (and the AI services behind them) are separate from Casefile: what an agent reads from your tracker and sends to its own provider is governed by that provider’s terms, not by this page.
Your control
Because the data is in your database, you can read, export, move and delete it yourself (see the backup and moving guides in the repository). Deleting the installation’s volumes deletes the data.
This website
This site is static pages hosted by GitHub Pages. It has no forms, no scripts and no analytics of its own. GitHub, as the host, may log visits under its own privacy statement. Messages you post as GitHub issues are public and handled by GitHub.
Changes and contact
Changes to this policy are published in the repository history with the date above. Questions: GitHub Issues.