{
 "audit": "BoreWatch data residency",
 "date": "2026-11-13",
 "engine_version": "1.8.3",
 "dataset": "public sample data (21 wells, 527 files)",
 "checks": [
  {
   "check": "Values and words from the well files found in what left the computer",
   "result": "0 of 361 tested",
   "status": "Pass"
  },
  {
   "check": "dataPass or the key derived from it found in any request",
   "result": "0",
   "status": "Pass"
  },
  {
   "check": "Uploaded objects that are valid AES-256-GCM envelopes and open with the dataPass key",
   "result": "59 of 59 (24.7 MB); none opens with a wrong key",
   "status": "Pass"
  },
  {
   "check": "File paths, Windows user name or computer name in any request",
   "result": "none",
   "status": "Pass"
  },
  {
   "check": "Hosts the engine tried to reach besides your BoreWatch server",
   "result": "borewatch.com (update check and the daily install notice; see the table below)",
   "status": "Pass"
  },
  {
   "check": "Built-in AI model reachable from the network",
   "result": "listens on 127.0.0.1:8777 only",
   "status": "Pass"
  },
  {
   "check": "Network calls in the engine source that are not listed below",
   "result": "none",
   "status": "Pass"
  }
 ],
 "endpoints_seen": [
  "GET <server>/api/ask",
  "GET <server>/api/license",
  "GET http://localhost:11434/api/tags",
  "GET https://borewatch.com/engine/latest.json",
  "POST <server>/api/ask",
  "POST <server>/api/put",
  "PUT https://borewatch.com/api/download"
 ],
 "network_calls": [
  {
   "destination": "Your BoreWatch server",
   "when": "each run",
   "sent": "Account id and license secret (as a header). Nothing about wells."
  },
  {
   "destination": "Your BoreWatch server",
   "when": "after a build",
   "sent": "Encrypted objects only: AES-256-GCM envelopes {v, iv, ct} and the object name."
  },
  {
   "destination": "Your BoreWatch server",
   "when": "every 5 s while the engine runs",
   "sent": "Asks for waiting questions; receives ciphertext."
  },
  {
   "destination": "Your BoreWatch server",
   "when": "after answering",
   "sent": "The answer, encrypted with your dataPass key."
  },
  {
   "destination": "Your BoreWatch server",
   "when": "borewatch doctor only",
   "sent": "A plain GET to test the connection."
  },
  {
   "destination": "borewatch.com",
   "when": "once a day",
   "sent": "Install notice: random install id, engine version, Windows version, account id. Off with BOREWATCH_NO_PING=1."
  },
  {
   "destination": "borewatch.com",
   "when": "once a day",
   "sent": "A plain GET of the latest version number."
  },
  {
   "destination": "data.borewatch.com",
   "when": "when you update",
   "sent": "Downloads the signed installer. Sends nothing."
  },
  {
   "destination": "github.com, huggingface.co",
   "when": "once, when you choose the built-in model",
   "sent": "Downloads llama.cpp and the model; each file is checked against a pinned SHA-256. Sends nothing."
  },
  {
   "destination": "127.0.0.1 (this computer)",
   "when": "when the built-in model starts",
   "sent": "Local health check."
  },
  {
   "destination": "127.0.0.1 (this computer)",
   "when": "AI analysis and Ask",
   "sent": "The AI prompt, to the built-in model on the same computer."
  },
  {
   "destination": "localhost (this computer)",
   "when": "AI analysis and Ask",
   "sent": "Checks whether Ollama is installed."
  },
  {
   "destination": "Ollama (this computer by default)",
   "when": "only if you use Ollama",
   "sent": "The AI prompt."
  },
  {
   "destination": "Your OpenAI-compatible endpoint",
   "when": "only if you set one",
   "sent": "The AI prompt (a compact well summary and the question), under your own account."
  },
  {
   "destination": "api.anthropic.com",
   "when": "only with your own API key",
   "sent": "The AI prompt (a compact well summary and the question), under your own account."
  },
  {
   "destination": "api.telegram.org",
   "when": "only if you set up alerts",
   "sent": "The alert text for high-severity events."
  },
  {
   "destination": "Your mail server",
   "when": "only if you set up alerts",
   "sent": "The alert text for high-severity events."
  }
 ]
}