UseAI is local-first by architecture, not just by policy. This document describes every field captured, where data is stored, what happens when you sync, and what controls you have.
Last updated: February 2026 · Effective immediately
The UseAI MCP server writes to disk and makes zero network calls during your coding sessions. Data only leaves your machine when you explicitly choose to sync by running useai sync.
If you never authenticate (useai login), the MCP server operates entirely offline. All data stays in ~/.useai/ on your machine.
UseAI never reads, transmits, or stores your source code.
Your conversations with AI tools are never captured or stored.
All processing happens on your machine. No cloud dependency.
Data only leaves your machine when you explicitly choose.
| FIELD | DESCRIPTION | SYNCED | PUBLIC |
|---|---|---|---|
session_id | Random UUID identifying the session | Yes | No |
client | Which AI tool (e.g. "claude", "cursor") | Yes | Yes |
task_type | Category: coding, debugging, testing, planning, reviewing, documenting, learning | Yes | Yes |
model | AI model ID (e.g. "claude-sonnet-4-6") | Yes | Yes |
started_at | ISO timestamp when session began | Yes | Yes |
ended_at | ISO timestamp when session ended | Yes | Yes |
duration_seconds | Total session length in seconds | Yes | Yes |
project | Project name (root directory name) | Yes | No |
languages | Programming languages used | Yes | Yes |
files_touched | Count of files modified (number only, never file names) | Yes | Yes |
title | Generic public description (no project names) | Yes | Yes |
private_title | Detailed description (may include project names) | Yes | No |
At the end of each session, the AI model self-assesses session quality using the SPACE framework. This includes scores (1-5) for prompt quality, context provided, independence level, and scope quality, along with improvement tips for any dimension scored below 5. Evaluation data is synced when you choose to sync but is never publicly visible.
Each session includes a SHA-256 hash chain anchor (chain_start_hash, chain_end_hash) and an Ed25519 seal_signature. These enable tamper evidence and are synced with the session data.
UseAI never captures any of the following, regardless of whether you sync or not:
You can verify this by auditing the open-source MCP tool handlers in packages/mcp/src/tools/.
All data is stored in ~/.useai/ on your machine. All files are plain JSON or JSONL that you can inspect with any text editor.
Cloud sync is entirely opt-in. When you run useai sync, full session records are sent to the UseAI server. This includes all metadata fields above, including private_title and project name.
Sessions are deduplicated by session_id — syncing the same session twice will not create duplicates.
useai statusView a summary of all locally stored data. Or inspect raw JSONL files directly in ~/.useai/data/
useai exportExport all your data as JSON. Your sessions are plain JSONL files you can read with any text editor.
useai purgeDelete all local data. You can also remove individual session files from ~/.useai/data/sealed/
Simply don't run "useai login". The MCP server makes zero network calls unless you explicitly authenticate and sync.
The UseAI website (useai.dev) uses minimal cookies required for authentication (JWT session token). We do not use advertising trackers, third-party analytics, or marketing cookies.
When you create an account and log in, we store your email address, display name, username, and avatar URL. Authentication uses OTP (one-time password) sent to your email — no passwords are stored.
The website may make requests to the GitHub API to fetch repository star counts for display purposes. No personal data is sent to GitHub through these requests.
The UseAI MCP server, CLI, and all client-side code are open source and auditable under the AGPL-3.0 license.
The cloud API (useai.dev backend) is not open source. This means you cannot directly audit how the server processes your data after sync. To compensate:
If you have questions about this privacy policy or data handling, you can:
For full technical details, see the PRIVACY.md in our repository.