# Deployment And Data

## Deployment And Runtime Model

git-lrc is a local CLI that runs on developer machines and CI systems.

Runtime modes:

- Local-only file and git operations (diff generation, hook management, local state handling).
- Remote API operations when review/setup/update commands are executed.

Configured API endpoint examples:

- Local/self-hosted LiveReview API endpoint (for example localhost deployment).
- Cloud LiveReview endpoint when users choose cloud-hosted operation.

## Data Sent And Data Stored

### What git-lrc Sends Over Network

| Event                     | Data Sent                                         | Destination                             | When It Happens                                     |
|---------------------------|--------------------------------------------------|-----------------------------------------|----------------------------------------------------|
| Review submission         | Encoded staged diff bundle and review metadata    | LiveReview API /api/v1/diff-review     | When review command submits a review                |
| Review polling            | Review identifier and status polling requests     | LiveReview API review status endpoint   | Until completion or timeout                          |
| Setup/auth operations     | Auth and setup payloads for provisioning and API key flows | LiveReview setup/auth endpoints         | During setup and re-auth flows                      |
| Optional usage telemetry   | CLI usage event payload                            | LiveReview usage endpoint                | After review completion                              |
| Self-update checks/downloads| Manifest metadata and binary download request     | Release/update hosting endpoints         | When self-update command runs                       |

### What git-lrc Stores Locally

| Data Type                           | Storage                    | Why                                              |
|-------------------------------------|----------------------------|--------------------------------------------------|
| API key and connector state         | ~/.lrc.toml                | CLI authentication and connector configuration    |
| Hook metadata and repo state        | .git/lrc/* and managed hook paths | Hook install/uninstall and local review state   |
| Review session/attestation metadata | Local SQLite and local files| Local review traceability and workflow support   |
| Update lock and pending update state| Local update state files   | Safe update staging and install flow             |

### Data Retention

- Local files are controlled by the user or organization running the CLI.
- The CLI does not keep a separate long-term remote copy of submitted payloads after submission.
- Server-side retention and model-training policy are controlled by the LiveReview server deployment and its policy settings.
