{
  "schemaVersion": 1,
  "contentVersion": "ca42e61ede0a24f789d7287a0001244ad22f4abf",
  "id": "docs/reference/privacy",
  "collection": "docs",
  "title": "Privacy",
  "description": "Static wiki reading, analytics, optional embeds, and the separate public Ask data flow.",
  "canonicalUrl": "https://encode.wiki/reference/privacy/",
  "apiUrl": "https://encode.wiki/api/v1/documents/docs/reference/privacy.json",
  "markdownUrl": "https://encode.wiki/api/v1/markdown/docs/reference/privacy.md",
  "status": "current",
  "tags": [],
  "license": "CC BY-SA 4.0",
  "dates": {
    "lastVerified": "2026-10-08T00:00:00.000Z"
  },
  "authors": [],
  "sources": [
    {
      "title": "Ask Encode Wiki architecture at the production application release",
      "url": "https://gitgud.io/encode/ask.encode.wiki/-/blob/5860b08e70d07c6874f1ac612eb62381b577c445/docs/ARCHITECTURE.md",
      "accessedAt": "2026-10-05T00:00:00.000Z"
    },
    {
      "title": "Ask chat request, retrieval and operational logging",
      "url": "https://gitgud.io/encode/ask.encode.wiki/-/blob/5860b08e70d07c6874f1ac612eb62381b577c445/src/pages/api/chat.ts",
      "accessedAt": "2026-10-05T00:00:00.000Z"
    },
    {
      "title": "Ask rate-limit and usage persistence",
      "url": "https://gitgud.io/encode/ask.encode.wiki/-/blob/5860b08e70d07c6874f1ac612eb62381b577c445/src/lib/chat/usage.ts",
      "accessedAt": "2026-10-05T00:00:00.000Z"
    },
    {
      "title": "Ask provider processing adapter",
      "url": "https://gitgud.io/encode/ask.encode.wiki/-/blob/5860b08e70d07c6874f1ac612eb62381b577c445/src/lib/chat/provider.ts",
      "accessedAt": "2026-10-05T00:00:00.000Z"
    }
  ],
  "headings": [
    {
      "depth": 2,
      "text": "Ask Encode Wiki",
      "anchor": "ask-encode-wiki"
    }
  ],
  "sections": [
    {
      "id": "_preamble",
      "title": "Page introduction",
      "depth": 0,
      "canonicalUrl": "https://encode.wiki/reference/privacy/",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/reference/privacy/_preamble.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/reference/privacy/_preamble.md",
      "checksum": "34b5d507e8857d545ead058b7f86285cba8aa5c0381189172319256127518052",
      "bytes": 2177
    },
    {
      "id": "ask-encode-wiki",
      "title": "Ask Encode Wiki",
      "depth": 2,
      "anchor": "ask-encode-wiki",
      "canonicalUrl": "https://encode.wiki/reference/privacy/#ask-encode-wiki",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/reference/privacy/ask-encode-wiki.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/reference/privacy/ask-encode-wiki.md",
      "checksum": "8ad865d43ccaf70518ab5dfc6a6a7fe8879e72d9f441072e772b0f30372507ed",
      "bytes": 2229
    }
  ],
  "outboundReferences": [
    "/reference/interactive-media/",
    "/reference/interactive-media/#repository-and-release-cards",
    "https://ask-dev.encode.wiki/",
    "https://ask.encode.wiki/",
    "https://gitgud.io/encode/ask.encode.wiki/-/blob/master/docs/ARCHITECTURE.md",
    "https://gitgud.io/encode/ask.encode.wiki/-/blob/master/src/lib/chat/provider.ts",
    "https://gitgud.io/encode/ask.encode.wiki/-/blob/master/src/pages/api/chat.ts",
    "https://opencode.ai/docs/zen/#privacy",
    "https://umami.is/"
  ],
  "checksum": "c392b98cc06d76ca79da015ccf3c9e57793d3fb9645a07164b1c18ccff838c3d",
  "contentFormat": "markdown",
  "markdown": "Encode Wiki serves static documentation and articles. Reading its public pages does not require an account. The homepage also links to **Ask Encode Wiki**, a separate public service at [ask.encode.wiki](https://ask.encode.wiki/). Submitting a question there contacts the Ask service; following the homepage link does not submit a question automatically.\n\nThe production domain uses a self-hosted [Umami](https://umami.is/) analytics service at\n`u.servers.moe` to understand aggregate site usage. The local analytics loader injects the tracker\nonly when the browser hostname is exactly `encode.wiki`, and the tracker itself is also restricted to\nthat domain. Local development and `dev.encode.wiki` therefore do not contact or record production\nanalytics. No analytics API or administrative credential is included in the site.\n\nPages may include [social-post components](/reference/interactive-media/) for X,\nBluesky, or LinkedIn. Each displays a local placeholder and direct link by default; no resource from\nthe social platform is requested unless the reader chooses **Load post**. When selected, the\ncomponent loads that platform's official embed. X's widget uses its do-not-personalize option. The\nresulting connection is governed by the selected platform's privacy and cookie policies. Declining an\nembed does not prevent access to the rest of the page.\n\n[Repository and release cards](/reference/interactive-media/#repository-and-release-cards) for\nGitHub, GitLab and Forgejo are different: their public API metadata is fetched by a maintainer-run\nrefresh script, committed to the repository and rendered as first-party static HTML. A reader's\nbrowser does not contact the forge merely by viewing a card. Following the card's link opens the forge in the usual way. Private forge addresses and\ncredentials are not supported.\n\nThe hosting and analytics servers necessarily receive ordinary network request data such as IP\naddresses, user-agent headers, requested URLs, timestamps, and error information. Encode Wiki does not\nuse advertising cookies or sell reader data. The separate Ask service is described below; linking to it does not submit a question from a wiki page.\n\n## Ask Encode Wiki\n\nThe public Ask app does not require an account. Its development preview at [ask-dev.encode.wiki](https://ask-dev.encode.wiki/) remains protected by Cloudflare Access and requires an approved session. Public wiki reading remains available without using either app.\n\nWhen a reader submits an enabled chat question, the Ask server receives that question and a bounded portion of the conversation history. It retrieves relevant wiki excerpts and sends the assembled context to the configured model provider. The selected live configuration uses **OpenCode Zen / GLM 5.3 Flash**; the actual provider/model is shown by Ask. Do not submit secrets or material you are not authorized to share. Provider processing and retention depend on its [Zen privacy terms](https://opencode.ai/docs/zen/#privacy) and account configuration; this wiki does not promise zero retention by a third party.\n\nThe current Ask UI holds messages in the browser tab's memory and provides a new-conversation control. Its application database stores rate-limit counters under a keyed hash of the network address (IPv6 addresses share a /64 bucket), plus aggregate token/cost counters. The application does not write question/answer transcripts into that database. Operational chat logs record request identifiers, timings, provider/model, corpus/source identifiers, usage, and error status; the model error handler deliberately omits prompt bodies. Access, proxy, host, and provider systems can process additional request/authentication information under their own configurations. These implementation facts are not a claim of anonymity or a fixed retention schedule.\n\nSee the [Ask architecture](https://gitgud.io/encode/ask.encode.wiki/-/blob/master/docs/ARCHITECTURE.md), [chat handler](https://gitgud.io/encode/ask.encode.wiki/-/blob/master/src/pages/api/chat.ts), and [provider adapter](https://gitgud.io/encode/ask.encode.wiki/-/blob/master/src/lib/chat/provider.ts) for the reviewed behavior. This description was checked against the October 2026 deployment code; future provider or storage changes require an updated notice.\n\nQuestions or privacy concerns can be reported through a confidential issue in the project's GitLab\nrepository.\n"
}
