---
title: Trust & Privacy
description: What leaves your machine when you use an AI coding assistant, where your code actually runs, and why the TheGitAI client is untrusted by design.
---

# 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 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.

::tip
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](/privacy) 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](/terms) and our
[Privacy Policy](/privacy), 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.
