Skip to main content
Plannotator OSS runs locally and does not send Plannotator usage telemetry or analytics. Plans, documents, diffs, annotations, drafts, history, and configuration stay on your computer by default. Some automatic and optional features contact GitHub, your Git remote, a URL, an AI provider, or a hosted sharing service.
This page covers the open-source CLI and browser UI. Workspaces is a hosted product. Documents created or uploaded there are sent to its service, so the local-only statements on this page do not apply to that workflow.

What stays local

Each review runs through a temporary HTTP server on your computer. Local mode binds to 127.0.0.1. The browser reads the document or diff from that server and returns your decision to it. Plannotator can write these local records: Document history can contain full copies of opened files. Disable it before opening sensitive files when those copies are not acceptable. See Version history. Remote mode binds the unauthenticated server to 0.0.0.0. Do not expose that port to the public internet or an untrusted network. Use SSH forwarding or a trusted development environment. See Local server and API.

Automatic GitHub release check

Each time a plan review, annotate, archive, share-portal, or code-review surface loads, it requests the latest release record from:
The request compares the installed version with the current GitHub release. It does not include the reviewed document, diff, annotations, or a usage-event payload. GitHub receives the request and the network metadata normally sent with it. Plannotator OSS does not currently provide a setting to disable this release check. Dismissing an update notice hides that release notice but does not stop later checks. This request is an update check, not usage telemetry. Plannotator does not send a separate event when you open a review, add an annotation, approve, dismiss, or send feedback.

Other automatic network access

For a local Git review, Plannotator may run git ls-remote origin in the background to identify the remote default branch and report a stale local baseline. This contacts the Git host configured as origin, but it does not send the local diff. Choosing the in-app fetch action runs git fetch. The installer downloads the selected Plannotator binary and checksum from GitHub Releases. Installing the latest version first queries GitHub’s API to resolve the release tag. If available, it sends a token from GITHUB_TOKEN, GH_TOKEN, or gh auth token to that API. Pinning --version skips that API lookup, but the binary and checksum still come from GitHub Releases. A full install can also contact GitHub for integration files, Ataraxy-Labs/sem for the optional sem sidecar, and npm for Pi, selected skills, or the managed agent-terminal runtime. Provenance verification, when enabled, also contacts GitHub through gh. Minimal mode and the applicable skip flags omit their optional components.

Optional outbound requests

Local Git commit review can look up commit-author avatars. For GitHub remotes, Plannotator fetches recent commit metadata and matches returned email addresses locally; it does not send the local commit-author email to GitHub for that match. For GitLab remotes, it sends commit-author emails to the configured GitLab instance’s avatar endpoint, one email per request and up to ten requests in parallel per lookup round. Overflow is retried in later rounds. If a match is found, the browser requests the returned image URL from GitHub, GitLab, Gravatar, or another avatar host. Raw local HTML has another boundary: scripts inside the sandboxed document can still make outbound network requests. Open only HTML you trust, or use --markdown to remove scripts before annotation. See Annotate HTML. Rendered plans, documents, raw HTML, and hosted pull-request descriptions can request remote images, video, fonts, or other assets they reference. Selecting a hosted code-review font can contact Google Fonts or jsDelivr. Opening an in-app help video loads a privacy-enhanced YouTube embed. A share-link creator can configure an HTTP or HTTPS callback and a token. Choosing Approve or Send Feedback in that shared review posts the action, token, and annotated share URL to the callback. For an encrypted short link, that URL can include the fragment decryption key. Trust the callback with the shared content and key, and prefer HTTPS.

Reduce outbound access

  • Use local files instead of URL annotation.
  • Set PLANNOTATOR_AI=disabled to remove Ask AI, Agent Reviews, and Guided Review.
  • Set PLANNOTATOR_SHARE=disabled to hide OSS share and import actions.
  • Review local code changes instead of a provider pull-request URL.
  • Self-host the share portal and paste service when the deprecated OSS sharing flow is still required.
These controls do not disable the automatic GitHub release check. Last verified on July 31, 2026, using Plannotator product commit 7cd023c. Maintained by the Plannotator project.
Last modified on July 31, 2026