Last updated: July 26, 2026
/contribute.
Overview
Axion is an open-source AI coding agent with local software and hosted services. This policy explains what stays local, what Axion Labs stores, and which providers process data.
Axion Labs hosted account and service data
Axion's Cloudflare-hosted backend stores and processes data needed to run accounts and hosted features, including:
- Account identifiers, email address, password hash or linked OAuth identifier, verification and reset state, registration IP address, suspension state, and appeal records.
- Axion-issued API keys and their status, request counts, token counts, calculated usage cost, allowance windows, and rate-limit records.
- Plan and subscription status, credit balances, credit-code redemptions, and Square customer or subscription identifiers.
- Signed-in web chat history and chat metadata used to sync conversations across sessions.
- A separate server-side log of message content, model responses, and model-requested tool calls across authenticated browser-session and API-key usage, kept independently of your visible chat history. Historical logs may include requests made before Axion required authentication for hosted access. An automated process periodically sends recent role-labeled context, the target user message, and the corresponding assistant response to Mistral for asynchronous safety classification. Every reviewed exchange comes back as one of three outcomes: safe, and nothing further happens; an operational error, meaning the model, the API, or response parsing failed and the exchange could not be classified at all — this is recorded as a system fault, never as a user-safety violation; or flagged for human review, where a member of our team reads the exchange and either dismisses or confirms the finding. Safe rows, operational errors, and dismissed findings are retained for up to 30 days. Unreviewed rows and pending or confirmed findings are retained for up to one year for human review, safety enforcement, and legal compliance. A confirmed finding may lead to suspension of the attached account; suspended users receive access to the appeal process.
- Email and announcement preferences, organization membership and invitations, and CLI device-login codes.
- Administrative test changes to plan, allowance usage, or credit balances, including who made the change and when.
Axion does not store your full payment-card number. Square processes payment details. Announcement subscriptions can exist separately from an Axion account, so deleting an account does not by itself unsubscribe a separately registered announcement email.
Local-only features
These never leave your device.
- Reading, editing, and running code — the agent operates on your local filesystem. File contents leave your device only when included in a prompt to the AI model you selected (see Hosted features).
- Integration tokens — stored in
~/.axion/oauth.jsonand sent only to the respective service's own API, never to Axion Labs. What each connection can reach, and only when you ask:- GitHub — your repositories, issues, and pull requests (scope
repo read:org read:user). - Google — Google Drive (list, read, search files) and Google Calendar (list, create, delete events). Axion does not request Gmail or email access.
- Notion — the pages and databases you share with the integration token you paste in.
- Slack — the channels and messages available to the bot token you paste in.
- These run as local MCP servers (GitHub, Notion, Slack) or direct API calls (Google). Anything they retrieve becomes prompt context and is then sent to the AI model you selected (see Hosted features).
- GitHub — your repositories, issues, and pull requests (scope
- Voice recording — your microphone is captured to a temporary
.wavon your machine. (Transcribing that audio is a hosted feature — see below.) - Session memory — cross-session memory, learned preferences, and notes live in
~/.axion/on your device. - API keys — keys you supply are stored locally and sent only to the provider they belong to.
- Local models — with Ollama, inference runs entirely on your machine.
- Extension ↔ CLI bridge — the Chrome extension reaches your local CLI over
127.0.0.1(localhost); that channel never touches the network.
Hosted features
These send data off your device — to a provider you chose or to Axion Labs' hosted backend, as described below.
AI model inference. Your prompt, plus any file contents, command output, or page text included as context, is sent to the model provider you select with /model:
- Third-party providers (Anthropic, OpenAI, Google Gemini, Groq, Mistral, OpenRouter, OpenCode) receive your requests directly, authenticated with the key you supplied. See each provider's own policy.
- Lumen routes through Axion Labs' Cloudflare backend at
api.amplifiedsmp.organd then to Lumen inference on RunPod. Hosted access requires an Axion account, authenticated by a browser session or Axion API key. Usage is tracked account-wide as token-based cost against the Free or Pro allowance and any redeemed credits; per-key request and token totals are also recorded. - IP addresses are collected during registration and used for duplicate-account and abuse detection. Registration IPs are kept with the account; operational rate-limit records expire according to their configured windows.
Voice transcription & text-to-speech.
- Transcription — after recording locally, the audio is uploaded to a cloud Whisper API: OpenAI (
whisper-1) if you have an OpenAI key, otherwise Groq (whisper-large-v3-turbo). Your spoken audio leaves your device, and transcription needs one of those keys. - Text-to-speech (
/speak) — the text to be spoken is sent to OpenAI's TTS API. Temporary audio is deleted after playback.
Screen vision. Screen-vision and computer-use features capture a screenshot and send the image to a vision model. By default this is Axion Labs' axion-vision model on Hugging Face (axionlabsai-lumenvision.hf.space); point it elsewhere with /vision and screenshots go to that provider instead. Either way, images of your screen leave your device when these features are active.
Browser control (Chrome extension). The extension requests broad permissions (<all_urls>, scripting, tabs) so it can read pages, click elements, fill forms, and capture the visible tab when you direct it. In standalone extension chat, page data sent for model reasoning goes to the provider configured in the extension. When the authenticated local bridge is enabled, Axion Desktop can request page reads and actions over a loopback WebSocket; returned page data may then become prompt context sent by Desktop to its configured model provider. If Lumen is selected in either flow, the request follows the Cloudflare-to-RunPod path described above. Provider keys and the bridge pairing token are stored in extension-owned Chrome storage.
Email and payments.
- Resend processes account verification, password-reset, invitation, and announcement emails.
- Square processes Pro checkout and payment information. Axion receives and stores the customer or subscription identifiers and status needed to manage access.
Training-data contributions (/contribute). Opt-in — nothing is sent unless you type /contribute yourself. When you do:
- The session is redacted first: file contents stripped, message text truncated (~1,000 chars per message, 200 per tool result), leaving structure and metadata.
- The redacted session is then uploaded to Axion Labs' collection endpoint on Cloudflare Workers (
axion-collect…workers.dev). - If that upload fails (e.g. you're offline), the session is saved locally to
~/.axion/donations/as a fallback. Files there remain on your disk until you delete them and are not uploaded automatically later. - A prompt may appear after long or difficult sessions, but the prompt alone sends nothing — only the
/contributecommand does. - Run
/contribute optoutto disable prompts permanently, or/contribute skipto dismiss for this session.
Third-party privacy policies
- RunPod (Lumen inference) — runpod.io privacy policy
- Hugging Face (default vision inference) — huggingface.co/privacy
- Mistral (asynchronous, context-aware safety classification of logged chat exchanges) — mistral.ai privacy policy
- Cloudflare (API backend & contribution endpoint) — cloudflare.com/policies/privacy
- Square (payments & subscriptions) — squareup.com privacy notice
- Resend (transactional & announcement email) — resend.com privacy policy
- Configured AI providers (Anthropic, OpenAI, Google, Groq, Mistral, OpenRouter, OpenCode) — see each provider's policy
- Connected integrations (GitHub, Google, Notion, Slack) — see each service's policy
Your control
- Delete individual signed-in web chats from the chat interface. Deleting your account also removes account identifiers from retained safety-log rows and redacts routine content. A pending or confirmed flagged exchange may remain without account identifiers until its human-review need ends or the one-year retention limit expires.
- Use the unsubscribe link in an announcement email to remove a separate announcement subscription.
- Disconnect any OAuth service with
/oauth revoke <service>, or delete~/.axion/oauth.json - Use your own provider keys — or a local model via Ollama — to keep inference off Axion Labs' backend entirely
- Opt out of contribution prompts with
/contribute optout, and delete any local files in~/.axion/donations/yourself - Axion is open source — audit exactly what it does at github.com/Ravikxx/Axion
Contact
For questions, open an issue at github.com/Ravikxx/Axion/issues or visit axion.amplifiedsmp.org.