Skip to content

Catalog indexing privacy

Catalog indexing is separate from anonymous telemetry.

Set CAPLETS_DISABLE_CATALOG_INDEXING=1 to disable catalog indexing submissions.

Anonymous telemetry intentionally excludes source URLs, Caplet IDs, hostnames, local paths, tool arguments, tool outputs, raw config, raw search text, session replay, and raw browser URLs. Public catalog indexing submits source and Caplet content so other users can search public Caplets. It is a separate disclosure boundary from anonymous telemetry.

Landing, docs, and catalog analytics are anonymous telemetry, not public catalog indexing. They use categorical page, search, filter, and install-intent events. A final browser PostHog envelope retains only the configured public project token and anonymous distinct_id for provider routing; they are not user credentials, management keys, or token-shaped application data. They do not publish source identity, Caplet identity, raw URLs, raw search text, session replay, or known-user or person-profile attribution, and they never hand browser identity into CLI or runtime telemetry.

After a successful install, restore, or update of an eligible GitHub-shaped external Caplet, Caplets may submit:

  • Normalized provider and repository identity, such as github.com/owner/repo.
  • Caplet ID and source path inside the repository.
  • Resolved revision and installed content hash.
  • The full installed CAPLET.md content.
  • Derived name, description, icon, tags, setup/auth/Project Binding requirements, workflow and risk summaries, child metadata, warnings, and generated install command data.

Eligibility validates GitHub source syntax, not repository visibility. A private GitHub repository can therefore be eligible. Disable catalog indexing before installing from a private repository or when any Caplet file contains material that must not become public.

The indexing envelope does not separately add installer identity, local filesystem paths, Vault values, raw environment values, agent prompts, tool arguments, tool outputs, or individual install-event identity. It rejects credential-bearing source URLs and private-network source hosts.

The full Caplet file is still part of the envelope. Anything authored in its Markdown or frontmatter—including literal secrets, internal URLs, or private hostnames—can be submitted. Do not put secrets in Caplet files, and use CAPLETS_DISABLE_CATALOG_INDEXING=1 whenever the source or content is not intended for publication.

Indexing is best effort. If the catalog indexer is unavailable, rate-limited, or rejects a source, install/update/restore still succeeds or fails based on the local lifecycle result, not on catalog reporting.

Vault references are local or remote runtime setup. Vault values are never written to the catalog, lockfiles, install-count events, logs, or JSON output. When install/update finds unresolved Vault setup, CLI output provides recovery commands such as:

Terminal window
caplets vault set GH_TOKEN
caplets vault access grant GH_TOKEN github