# Koder CLI consumer privacy terms — full text

Updated and effective October 20, 2026. Applies from 0.4.0-preview.17.
Provider: KARMENLOOP Official Team, Shanghai, China. Contact: info@karmenloop.com. Website: https://karmenloop.com.

## 1. Scope and choices

These terms describe Koder CLI/TUI, its local KARMEN LOOP task kernel, installation and updates, optional connections, and celebrations. Personal, noncommercial local use is free and supports your own model API; commercial use requires separate written authorization. Accepting the license does not enable preference learning, sync, computer access, country lookup, or music. Skipping an optional feature does not prevent ordinary work. Model providers, music sites, the country-lookup service, your operating system, and other connected services have their own terms.

The package also includes the latest complete official consumer privacy notice and agreement. Read them offline with koder privacy desktop / agreement; koder privacy sources lists their origins and hashes. Those originals include desktop-specific descriptions, such as the desktop encrypted key store and clipboard behavior. This CLI notice and the actual CLI settings describe CLI behavior; a desktop implementation is not a promise about the CLI.

## 2. Local information, purpose, and retention

Messages, model replies, tool calls and results, approvals, and recovery records let you complete and continue tasks. Enabled memory is stored in the configured local directory. --no-memory turns off persistent conversation memory for that session; it does not delete existing settings or separately enabled features. File access follows the chosen project and separately granted scope. Read file contents can become model context.

Model names, endpoints, limits, and key sources are used to reach your selected API. The CLI supports local model configuration files and environment variables you explicitly set. A key in a CLI configuration file is not the desktop encrypted key store. Saved files use user-level permissions; some connection credentials use system credential storage or encryption where available, as their diagnostics describe. Protect your device account, backups, and environment variables.

Settings, tutorial progress, language, theme, celebration preferences, and already-shown markers preserve your local experience. An optional birthday stores only a confirmed month and day, without a birth year, name, identity document, or age. A casual mention offers a choice; a clear request to remember your own birthday can save it locally. Another person's birthday is not treated as yours. Optional language learning counts Chinese and English messages without making another copy of their text. Choosing a fixed language stops that learning and clears its counts.

Local records remain until you clear the relevant record or feature data, or remove the configuration directory. Manage conversation records, project deliverables, and your own backups separately. Uninstalling does not necessarily remove files you choose to keep. Celebration markers prevent repeated interruptions. Forgetting a birthday also removes its local page and birthday markers.

## 3. Models and external connections

When you submit a task, your message, needed history, file contents and tool results, task instructions, and required API credentials go to the model endpoint you chose. That provider sees the network source. Providers and plans have different data rules; Alibaba Token Plan personal and team terms, for example, differ. Review the service, region, plan, key, data use, and costs before configuring it. Koder does not guarantee third-party quota or continuing model availability, and does not switch billing routes as a fallback.

A connected app, MCP server, messaging channel, or web tool receives the information needed for the operation you use. Connection, enablement, sharing, and external writes are distinct choices. App authorization does not replace tool approval. A stdio MCP server or configured external engine runs a program on your device. Review that program's permissions and effects separately.

## 4. Optional accounts, sharing, and learning

Basic use does not require a Koder membership. Account sign-in, cross-device or channel sharing, and personalization run only after you configure and enable them. Their settings describe scope, recipients, and retention. API keys and execution approvals are not ordinary synced memories. Device, group/private-chat identity, and proactive contact permissions remain separate; historical records do not revive an expired approval.

Birthday settings, celebration preferences, and language counts stay in the separate local delight settings. They are not automatically added to model context or memory sync. A birthday or other detail you type in an ordinary message still follows the model-submission rules in section 3. Seeing a greeting does not enable an unrelated learning or sync feature.

## 5. Optional IP country lookup and music

Country lookup is off by default. If you choose koder celebrate locale --ip and confirm IP, the CLI makes one request to https://ipapi.co/country/. That service receives your public IP and the connection information needed for the request. Koder saves only a two-letter country code, not your IP, city, or precise location. A VPN, travel, or network exit can make the result inaccurate. Country is a weak hint for the holiday calendar and language, never proof of your language. Your explicit choice and enabled local language counts take priority.

Birthday music is off by default. After you explicitly enable it, using interactive chat on your birthday may ask your browser to open one music tab, at most once automatically that day. The default page and melody are generated on your computer without contacting a music site. If you select QQ Music or YouTube Music, or follow a music-service link, that service receives your IP, search words, and its own access data. It may require sign-in, a subscription, or a click. Browsers can block autoplay; the local page keeps Play and Stop controls. Koder does not bypass that policy or guarantee audible automatic playback.

Country lookup and music are separate choices. Enabling one does not enable the other. Third-party policies and services: https://ipapi.co/privacy/, https://y.qq.com/, https://music.youtube.com/.

## 6. Installation, updates, and public information

Installation and explicit updates contact the official website, GitHub releases, or the necessary official distribution hosts for notes, checksums, packages, and a Node runtime if needed. Those hosts see normal download requests and IP addresses. By default, the application does not send conversations, files, keys, or birthdays to KARMENLOOP. Installation introductions describe public product and kernel capabilities, without private implementation, credentials, or runtime logs. Decorations do not change installation checks, license requirements, or checksum gates.

## 7. Safeguards and limits

The CLI uses scoped permissions, separate confirmations, host-side tool approvals, path/input checks, secret redaction, and SHA-256 download checks. These application controls do not replace an operating-system firewall, disk encryption, or endpoint security. License acceptance, --yes, a webpage, a model reply, and historical records do not automatically expand authority. The internal fallback engine is disabled by default and is not selected automatically. No software can guarantee zero vulnerabilities; a runtime installed on a person's device cannot be guaranteed unextractable by that device's owner.

## 8. Feedback and disclosure

A clear request to give feedback or contact support shows an email address and blank template. Koder does not send the email or attach history automatically. Only information you choose to send enters your email service. Remove keys, passwords, private paths, and chat history first. We handle information actually received only as needed for that feedback, not targeted advertising. Any legally required disclosure is limited to information we actually hold.

## 9. Your rights and withdrawal

Use local settings and files to inspect, copy, correct, and delete your information. Model settings, conversations, sharing, app connections, and operating-system grants are managed separately. koder celebrate birthday forget removes the birthday and turns off music; koder celebrate music off stops future automatic music; koder celebrate auto off stops automatic holiday notices. koder celebrate locale --language zh or en stops language learning. Removing the local delight directory clears that feature's records. Withdrawal does not undo completed processing; contact a recipient directly about information it already holds.

## 10. Sensitive information, minors, and international transfers

Do not submit information you lack authority to process, secrets, identity documents, financial or health details, precise locations, or children's information. This feature needs no birth year or age. Minors should use the product with a guardian; children under 14 should not independently provide personal information or enable external connections. Selecting an overseas service or visiting an overseas site may transfer necessary information abroad. Review your authority and the recipient's policy first. That choice does not enable other optional features.

## 11. Updates and contact

A material change to features, recipients, or purposes is described with the updated version and date. Features needing a separate choice retain their own confirmation. For privacy questions, access, correction, deletion, or complaints, contact the KARMENLOOP Official Team at info@karmenloop.com with only the redacted details needed to locate the issue. We handle requests under the applicable requirements. The official consumer notice's contact and complaint arrangements remain available in full.


Execution approval settings stay in the local execution-permissions.json with host/workspace scope. Rules store action hashes, risk labels and timestamps, not raw commands or keys; authority is never memory-synced. Smart approval allows low-risk checks and ordinary project edits. Sensitive actions ask and offer Always allow. Explicit full access can cover one workspace or an explicitly selected profile; it can execute code, modify/delete files and use existing app grants without action prompts, but cannot grant OS permissions or supply passwords. Inspect with permissions execution status; revoke/reset withdraws settings. Private thinking protocol state stays in the live tool loop. Restored history uses a bounded visible-history reference without inventing or persisting hidden reasoning.

## Private reference collections

Selected ZIP collections are stored encrypted in the local private-resources directory, independently of account memory sync. Import does not run scripts or publish originals. Model retrieval is off by default; --model-access or allow-model ... --confirm MODEL permits local Koder tasks to search metadata and send selected excerpts to the configured model provider. Gateway and ACP sessions do not automatically receive this library. Disable stops future retrieval; it does not recall material already transmitted. Remove unlinks the catalog entry but retains encrypted objects and original archives. Commercial-license inquiries and GitHub stars are optional and do not automatically send information, open a browser, create repositories or grant rights.


Official remote references: local CLI tasks can retrieve selected licensed workflows. The official service receives short search keywords and selected resource IDs, offsets and limits; the client does not attach full conversations, model keys or private collections. Hosting infrastructure receives normal network metadata, including IP. The handler does not log query or response bodies. Selected excerpts and required notices reach the task model and may remain in task history. No full library is downloaded at startup. Disable with KODER_REMOTE_RESOURCES=0. Private local collections never fall back to remote search. Encrypted GitHub assets are decrypted only by the official server; readable excerpts can be retained. Unknown-license materials are withheld. See docs/REMOTE-RESOURCES.md.

## Automatic update traffic

An installed CLI may contact the official GitHub release and update endpoints during interactive chats, at most once every six hours, and download a verified update while idle. The hosting service receives ordinary connection information such as your IP address and the updater user agent. This check does not send conversation content, project files, API keys, birthdays or execution permissions. Turn it off with `koder update auto off` or set `KODER_AUTO_UPDATE=0` for the current process. A changed software license is not accepted automatically.
