Skip to content
KurrentDB

Keep private repos out

A stored session is the conversation: your prompts, the agent’s replies, and the tool calls it made with their results. kcap never uploads a repository and never scans your files. What the agent read or changed shows up in the conversation the way it did in the agent’s own transcript, and nothing more

Every session is filed under the repository it ran in, found from the git remote of the directory where you started the agent. That is how sessions are grouped in the web app, how your agent searches them, and how sharing defaults are applied. So the controls on this page are expressed in terms of repositories and folders: a rule about a repository is a rule about every session that runs in it

A session started outside a git repository is still stored, under no repository

  • Local edition: exclusions and allow lists below apply exactly the same, since they live in the CLI on your machine. Audience does not come into it; everything on a local server is yours alone
  • Team workspace: exclusions and allow lists decide what reaches the workspace at all; the audience decides who there can read it. project visibility and projects themselves are Team and Enterprise features

An excluded repository or folder is never stored, live or on import, whatever else is configured

Terminal window
kcap ignore ~/code/client-x # this folder and everything under it
kcap ignore . # the repository you are in
kcap config set excluded_repos "acme/secret-project,me/diary"
kcap ignore --list

A folder rule matches the session’s working directory; a repository rule matches the owner/repo of its git remote. Either is enough to skip the session

If most of your machine is personal, invert it: allow a list, and everything else is skipped

Terminal window
kcap allow ~/code/work # only this tree
kcap config set allowed_repos "acme/api,acme/web"
kcap allow --list

With both an allow list and exclusions, a session must pass the allow list and match no exclusion. Removing the last allowed entry opens everything up again

In a team workspace, every new session gets the default audience from your profile. The setup wizard asked; change it any time:

Terminal window
kcap config set default_visibility org_public # your organisation, for its own repositories
kcap config set default_visibility project # members of projects holding the repository (Team plans)
kcap config set default_visibility private # only you

org_public is the setting we recommend: a session in one of the organisation’s repositories is readable by everyone in the organisation, which is what lets teammates pick up your work and reviewers see your reasoning, while a session in a personal or unrecognised repository stays private. Sharing one session more widely or narrowly is done from the session itself; see Change who can read your sessions

  • They do not remove anything already stored. A session that should not be on the server is deleted from the server: Delete a session
  • They do not redact. Capture replaces credentials in known formats before upload, but it cannot recognise a confidential discussion
  • They are per profile. If you use more than one workspace, set them in each; see Configuration

How kcap handles your data has the complete picture of what is sent and kept