Trust & Privacy

The TheGitAI CLI is source-visible so you can inspect it and verify how it behaves on your machine.

Trust model

The client is untrusted for security enforcement. All authentication, authorization, rate limiting, and permission decisions are enforced server-side, and the server's enforcement is authoritative regardless of any client-side state.

Any security-sensitive check in the client is a convenience hint, not a security boundary — don't rely on the client to enforce security properties.

When an approved sudo command asks for a password, the prompt is local to the terminal UI: the client shows the exact command, masks the typed password, and does not send the password to the model or server.

What runs where

Local repository indexing, file reads and writes, code search, shell commands, background processes, approvals, and session storage run on your machine. Relevant repository and document context is sent through the authenticated TheGitAI service as part of a model request. Model inference, provider access, public web research, image analysis when needed, and private orchestration run on the server.

Provider credentials are never shipped in the client. Command output is bounded and common connection-string credentials are redacted before tool results are sent back to the model.

What lives on your machine

The client stores only local, user-machine state:

  • auth.json — your local auth token.
  • models.json — locally cached model list.
  • prompt-history.json — global prompt-only history, capped to 15 entries.
  • Repo-scoped saved session snapshots under sessions/, including the conversation history and the local session state needed to resume.
Because the client is source-visible, you can read exactly what it does before trusting it with your repo and shell.

What the server stores

We do not store your source code, your prompts, or your conversations. When a session is saved to your account, the server writes metadata only — the conversation history, the session summary, and file contents are stripped out before anything is written to the database.

What the server does keep:

  • Your account — email, hashed password, and signup/verification/login dates.
  • Usage totals — cost, model, session id, and timestamp per request, for quotas and your usage view. No prompt or code content.
  • Session metadata — session name, project directory path, git branch, model, and message count. This includes file paths and shell commands the agent worked with, but never the contents of those files.
  • Request logs — account id, endpoint, status, timing, error category, client OS and version, and a salted one-way hash of your IP address. The IP address itself is never stored. Deleted after 30 days.

Deeper diagnostic telemetry, which does capture prompt and tool detail, is enabled only for internal admin accounts under an explicit debug flag. It is never collected from customer accounts.

The Privacy Policy is the authoritative statement of all of this, and tells you how to delete your account.

Terms of Service

Your use of TheGitAI is governed by our Terms of Service and our Privacy Policy, which set out your responsibilities, explain that AI output and agent actions must be reviewed before you rely on them, and describe the limits of our liability for data loss or exposure.

The Terms allow one personal account per person unless TheGitAI approves an organisation, testing, or operator exception in writing. Local session history remains available on the user's computer. Continuing a saved session through the service requires the TheGitAI account used for that session.

Account security

Accounts are protected by a password-strength policy (weak or common passwords are rejected) and by email verification: a new account must confirm its email address before it can sign in or authorize the CLI. Acceptance of the Terms of Service and the Privacy Policy is collected during signup and is not requested again during login, password reset, or CLI authorization.