Trust

Your machine stays in control.

o8 is open source and local-first. Your repositories, worktrees, sessions, approvals, and memory use your Mac as the system of record; model requests leave only through the provider path you choose.

What stays on your Mac

o8 stores its local state under ~/.o8. Your repositories and agent worktrees remain on your machine, and o8 does not upload a copy of your codebase to a central project cloud. The app and its operating rules are public under the MIT license, so you can inspect the implementation or run your own build.

What can leave your Mac

The model route you select receives the prompts and context needed to answer the request. That can be a provider subscription or key you control, or o8’s hosted model when you use the signed-in allowance or Pro managed service. Account, licensing, and coarse usage records also reach the services that make those paths work. o8 does not claim a request is local when it is sent to a model provider.

Diagnostics are separate and off by default

Product analytics and crash reporting are two separate choices in the app. Both start off. If you enable product analytics, a strict allowlist permits coarse product events while excluding code, prompts, file contents, repository names, paths, diffs, transcripts, credentials, and personal identity. Turning crash reporting off prevents packaged builds from sending crash events.

Read the exact event policy in the telemetry and privacy document, or read the site’s privacy policy.

Secrets and local access

  • On macOS, o8 stores its at-rest encryption master key in Keychain when available; the protected local-file fallback is created with owner-only permissions.
  • Provider voice credentials saved through the app use macOS Keychain.
  • The local control API is default-deny and requires an explicit local credential or paired capability.
  • Your coding runtimes keep control of their own subscription and provider authentication.

Agent permissions and isolation

Each dispatched worker gets an isolated Git worktree, and every change passes through review and merge gates before it reaches your branch. Workers run as your current operating-system user by default, so they can reach what that account can reach. An optional operating-system sandbox is available for tighter execution and fails closed when enabled; it is not silently presented as the default.

Signed builds and updates

Public macOS releases are signed and notarized. The in-app updater validates the replacement bundle’s code signature and Gatekeeper acceptance before it launches the new build. You can inspect the source, download the current release, or build o8 yourself.

Report a vulnerability privately

Please do not open a public issue for a security vulnerability. Use GitHub’s private vulnerability report so the maintainers can investigate before details are disclosed.