Trust and local-first boundaries

aic is a closed-source, free-for-personal-use, local-first tool. This page explains which local files it touches, when it accesses the network, and what you should or should not commit to Git.

1. The boundary in one sentence

aic is designed around local project configuration. Every TUI operation is intended to complete locally — that is part of the product positioning, not a marketing slogan. For sensitive environments, review the install script, generated project files, and release artifacts before deploying.

This page does not claim “no telemetry”, because aic v1.0.x still contacts the Registry on aic install / update / sync to fetch Skill / Context / MCP templates.

2. Local files aic reads

FileWhen
<project>/.aic/.aicrcEvery aic / sync / install / update / context use invocation
<project>/.aic/.aic-envaic env check and rendering env-required Skills
~/.aic/config.tomlAt startup
~/.aic/aic-envaic env check / list --scope merged
~/.aic/cache/**install / update / sync
<project>/.claude/**, <project>/.codex/**, <project>/.gemini/**, <project>/.opencode/**During link detection (sync / update)
Tool global configs like ~/.codex/config.tomlRead before merging in aic mcp sync

3. Local files aic writes

FileWhen
<project>/.aic/.aicrcinstall / remove / context use / mcp install and friends
<project>/.aic/.aic-envenv add / env edit (scope = project)
~/.aic/config.tomlTUI theme switch, initialization
~/.aic/aic-envenv add / edit (scope = global), env promote
Tool directories like <project>/.claude/skills/<name>install / sync (controlled links)
AIC managed block in CLAUDE.md / AGENTS.md / GEMINI.mdcontext use / context update
Tool global configs (e.g. ~/.codex/config.toml, opencode.json)aic mcp sync (transactional write, rolls back on failure)
Provider profile backup ~/.aic/cache/<provider>/.<name>.bakProvider switch

aic will never write:

  • Any file outside .aic/ in the project (other than the AIC managed block within CLAUDE.md and friends).
  • User shell config (~/.bashrc / ~/.zshrc / PowerShell profile).
  • git config or Git hooks.

4. Network requests

RequestWhenPurpose
Git protocol (ssh / https / http) to the RegistryTriggered by install / update / syncPull or update ~/.aic/cache
Registry index.yamlLocal parse after syncList installable Skills / Contexts / MCPs

Known network requests are listed above (Registry sync). Everyday TUI operations (startup, panel switching, viewing details, editing env) all run locally. aic is not a model client and does not call model APIs directly.

Note: The aic binary is closed-source, so this page cannot exhaustively audit all outbound requests via source code. If future versions introduce additional outbound requests, this page will be updated accordingly.

5. What to commit / not commit to Git

Commit

  • <project>/.aic/.aicrc — team declaration of fact.
  • Other files inside <project>/.aic/ except .aic-env (for example, non-sensitive metadata that may be added later).

Do not commit

  • <project>/.aic/.aic-env — sensitive env values.
  • Personal-private config inside tool-specific directories (such as personal tokens in ~/.codex/config.toml).
  • The entire ~/.aic/ directory (user-level, not in the project).

aic init automatically adds .aic/.aic-env to .gitignore.

6. Known limitations

  • Closed source: the aic binary cannot be audited. Boundaries documented here are authoritative.
  • Registry dependency: fully offline scenarios cannot install new Skills / Contexts / MCPs; already-installed content continues to work.
  • Windows Beta: certain environments require admin privileges or Developer Mode to create symlinks. Without them, aic falls back to copy sync while keeping the same directory layout.
  • OpenCode OAuth: aic does not manage OpenCode OAuth flows. If a Provider profile requires login, complete it manually inside OpenCode.

Submit an Issue or email via Contact. Prefix the email subject with [TRUST].