docs(telemetry): add legal documents and user-facing telemetry documentation
This commit is contained in:
@@ -113,6 +113,8 @@ curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/head
|
||||
|
||||
**Note**: Use the published package and binary name `oh-my-opencode`. Inside `opencode.json`, the compatibility layer now prefers the plugin entry `oh-my-openagent`, while legacy `oh-my-opencode` entries still load with a warning. Plugin config files still commonly use `oh-my-opencode.json` or `oh-my-opencode.jsonc`, and both legacy and renamed basenames are recognized during the transition.
|
||||
|
||||
Anonymous telemetry is enabled by default to help improve install and runtime reliability. It uses PostHog with a hashed installation identifier, never the raw hostname, and can be disabled with `OMO_SEND_ANONYMOUS_TELEMETRY=0` or `OMO_DISABLE_POSTHOG=1`. See [Privacy Policy](docs/legal/privacy-policy.md) and [Terms of Service](docs/legal/terms-of-service.md).
|
||||
|
||||
---
|
||||
|
||||
## Skip This README
|
||||
|
||||
@@ -24,6 +24,8 @@ npx oh-my-opencode install # alternative
|
||||
|
||||
Follow the prompts to configure your Claude, ChatGPT, and Gemini subscriptions. After installation, authenticate your providers as instructed.
|
||||
|
||||
Anonymous telemetry is enabled by default to help improve install and runtime reliability. It uses PostHog with a hashed installation identifier and can be disabled with `OMO_SEND_ANONYMOUS_TELEMETRY=0` or `OMO_DISABLE_POSTHOG=1`. See [Privacy Policy](../legal/privacy-policy.md) and [Terms of Service](../legal/terms-of-service.md).
|
||||
|
||||
After you install it, you can read this [overview guide](./overview.md) to understand more.
|
||||
|
||||
The published package and local binary are still `oh-my-opencode`. Inside `opencode.json`, the compatibility layer now prefers the plugin entry `oh-my-openagent`, while legacy `oh-my-opencode` entries still load with a warning. Plugin config loading recognizes both `oh-my-openagent.json[c]` and `oh-my-opencode.json[c]` during the transition. If you see a "Using legacy package name" warning from `bunx oh-my-opencode doctor`, update your `opencode.json` plugin entry from `"oh-my-opencode"` to `"oh-my-openagent"`.
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
# Privacy Policy
|
||||
|
||||
Last updated: April 11, 2026
|
||||
|
||||
This Privacy Policy explains how oh-my-opencode and oh-my-openagent collect, use, and protect information related to the published CLI package, the OpenCode plugin, and the project website or repository materials where they apply.
|
||||
|
||||
For this policy, "Application" means the published `oh-my-opencode` CLI package and the OpenCode plugin runtime it installs. "Service" means the Application and the project distribution surfaces together. "We" and "our" refer to the maintainer of oh-my-opencode. "You" refers to a user of the Service.
|
||||
|
||||
By using the Service, you accept this Privacy Policy and the accompanying Terms of Service in [terms-of-service.md](./terms-of-service.md).
|
||||
|
||||
## 1. Information We Collect
|
||||
|
||||
We collect limited non-personal information needed to operate and improve the Service.
|
||||
|
||||
### Automatically collected information
|
||||
|
||||
When anonymous telemetry is enabled, the Application may collect:
|
||||
|
||||
- Anonymous usage events, including `run_started`, `run_completed`, `run_failed`, `install_completed`, `install_failed`, `plugin_loaded`, `omo_daily_active`, and `omo_hourly_active`
|
||||
- Application metadata such as package version, plugin name, runtime, and command or entry-point context
|
||||
- Error diagnostics captured during failed CLI runs
|
||||
- A pseudonymous installation identifier derived from a one-way hash of the local hostname
|
||||
|
||||
We do not intentionally collect prompt contents, source files, repository contents, access tokens, API keys, or raw hostnames through this telemetry path.
|
||||
|
||||
### Configuration and local state
|
||||
|
||||
The Application stores local configuration and telemetry deduplication state on your machine to support installation, configuration, and anonymous daily or hourly active tracking.
|
||||
|
||||
## 2. How Telemetry Works
|
||||
|
||||
The Application uses PostHog for anonymous product analytics. Telemetry is enabled by default, following the same opt-out posture used in cmux, and is intended to help us understand installation success, runtime reliability, and broad usage patterns.
|
||||
|
||||
Telemetry can be disabled at any time by setting one of these environment variables before running the CLI or plugin host:
|
||||
|
||||
```bash
|
||||
export OMO_SEND_ANONYMOUS_TELEMETRY=0
|
||||
# or
|
||||
export OMO_DISABLE_POSTHOG=1
|
||||
```
|
||||
|
||||
When telemetry is disabled, PostHog events are not sent.
|
||||
|
||||
## 3. Third-Party Services
|
||||
|
||||
The Service may use third-party providers including:
|
||||
|
||||
- **PostHog** for anonymous product analytics
|
||||
- **npm** and **GitHub** for package distribution, releases, and repository hosting
|
||||
- **OpenCode** and model providers that you configure separately for your own agent usage
|
||||
|
||||
Each third-party service has its own terms and privacy practices.
|
||||
|
||||
## 4. How We Use Information
|
||||
|
||||
We use collected information to:
|
||||
|
||||
- Measure installation and runtime health
|
||||
- Understand aggregate feature usage
|
||||
- Diagnose failures and improve reliability
|
||||
- Maintain and evolve the Service
|
||||
|
||||
We do not sell personal information collected through this telemetry path.
|
||||
|
||||
## 5. Data Retention
|
||||
|
||||
Anonymous analytics and diagnostics are retained only as long as reasonably necessary for product, security, and operational analysis. Local telemetry state stored on your machine remains there until removed by you.
|
||||
|
||||
## 6. Your Choices
|
||||
|
||||
You may:
|
||||
|
||||
- Disable anonymous telemetry through environment variables
|
||||
- Remove local configuration or cached state files from your machine
|
||||
- Stop using the Service at any time
|
||||
|
||||
## 7. Security
|
||||
|
||||
We use reasonable administrative and technical measures to protect the systems we control. No method of transmission or storage is completely secure.
|
||||
|
||||
## 8. Changes to This Policy
|
||||
|
||||
We may update this Privacy Policy from time to time. Material updates will be reflected by revising the date at the top of this document.
|
||||
|
||||
## 9. Contact
|
||||
|
||||
Questions about this Privacy Policy should be raised through the project repository issue tracker or the maintainer contact channels published in the repository.
|
||||
@@ -0,0 +1,57 @@
|
||||
# Terms of Service
|
||||
|
||||
Last revised: April 11, 2026
|
||||
|
||||
These Terms of Service govern your use of oh-my-opencode and oh-my-openagent, including the published CLI package, the OpenCode plugin runtime, the repository, and related distribution materials.
|
||||
|
||||
For these Terms, "Application" means the published `oh-my-opencode` package and plugin. "Service" means the Application and related project distribution surfaces. "We" and "our" refer to the maintainer of oh-my-opencode. "You" refer to the individual or entity using the Service.
|
||||
|
||||
By accessing or using the Service, you agree to these Terms. If you do not agree, do not use the Service.
|
||||
|
||||
## 1. License
|
||||
|
||||
Your use of the source code is governed by the repository license in [LICENSE.md](../../LICENSE.md). Your use of packaged releases, binaries, and hosted project surfaces is also subject to these Terms.
|
||||
|
||||
## 2. Your Use of the Service
|
||||
|
||||
You are responsible for:
|
||||
|
||||
- Reviewing generated code and commands before using them in your own environments
|
||||
- Ensuring your use complies with applicable laws, contracts, and third-party provider terms
|
||||
- Protecting your own credentials, repositories, and infrastructure
|
||||
|
||||
You must not use the Service to violate law, infringe rights, or interfere with systems you do not control or have permission to access.
|
||||
|
||||
## 3. User Content
|
||||
|
||||
You retain ownership of your code, prompts, files, and other content. Except for the limited anonymous telemetry described in the Privacy Policy, the Application is intended to run locally and does not transmit your repository contents to us as part of ordinary use.
|
||||
|
||||
## 4. Third-Party Services
|
||||
|
||||
The Service depends on or interoperates with third-party tools and providers, including OpenCode, model providers, package registries, repository hosts, and analytics infrastructure. Their availability and terms are outside our control.
|
||||
|
||||
## 5. Feedback
|
||||
|
||||
If you provide suggestions, bug reports, or other feedback, you grant us the right to use that feedback to improve the Service without compensation or restriction.
|
||||
|
||||
## 6. Disclaimers
|
||||
|
||||
THE SERVICE IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.
|
||||
|
||||
We do not guarantee that the Service will be uninterrupted, error-free, secure, or suitable for any particular workflow or production environment.
|
||||
|
||||
## 7. Limitation of Liability
|
||||
|
||||
TO THE MAXIMUM EXTENT PERMITTED BY LAW, WE WILL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR ANY LOSS OF DATA, PROFITS, GOODWILL, OR BUSINESS INTERRUPTION, ARISING OUT OF OR RELATED TO YOUR USE OF THE SERVICE.
|
||||
|
||||
## 8. Termination
|
||||
|
||||
We may modify, suspend, or discontinue the Service at any time. You may stop using the Service at any time. Sections that by their nature should survive termination will survive.
|
||||
|
||||
## 9. Changes to These Terms
|
||||
|
||||
We may update these Terms from time to time. Continued use of the Service after changes become effective constitutes acceptance of the updated Terms.
|
||||
|
||||
## 10. Contact
|
||||
|
||||
Questions about these Terms should be raised through the project repository issue tracker or the maintainer contact channels published in the repository.
|
||||
@@ -42,6 +42,7 @@ bunx oh-my-opencode install
|
||||
2. **Plugin Registration**: Registers `oh-my-openagent` in OpenCode settings, or upgrades a legacy `oh-my-opencode` entry during the compatibility window
|
||||
3. **Configuration File Creation**: Writes the generated OmO config to `oh-my-opencode.json` in the active OpenCode config directory
|
||||
4. **Authentication Hints**: Shows the `opencode auth login` steps for the providers you selected, unless `--skip-auth` is set
|
||||
5. **Telemetry Defaults**: Anonymous telemetry remains enabled unless you opt out through environment variables
|
||||
|
||||
### Options
|
||||
|
||||
@@ -58,6 +59,8 @@ bunx oh-my-opencode install
|
||||
| `--opencode-go <no\|yes>` | OpenCode Go subscription |
|
||||
| `--skip-auth` | Skip authentication setup hints |
|
||||
|
||||
Anonymous telemetry uses PostHog with a hashed installation identifier. Disable it with `OMO_SEND_ANONYMOUS_TELEMETRY=0` or `OMO_DISABLE_POSTHOG=1`. See [Privacy Policy](../legal/privacy-policy.md).
|
||||
|
||||
---
|
||||
|
||||
## doctor
|
||||
|
||||
@@ -973,6 +973,10 @@ When enabled, two companion hooks are active: `hashline-read-enhancer` (annotate
|
||||
| Variable | Description |
|
||||
| --------------------- | ----------------------------------------------------------------- |
|
||||
| `OPENCODE_CONFIG_DIR` | Override OpenCode config directory (useful for profile isolation) |
|
||||
| `OMO_SEND_ANONYMOUS_TELEMETRY` | Set to `0`, `false`, or `no` to disable anonymous telemetry |
|
||||
| `OMO_DISABLE_POSTHOG` | Legacy telemetry opt-out flag. Set to `1` or `true` to disable PostHog |
|
||||
| `POSTHOG_API_KEY` | Optional override for the built-in PostHog project API key |
|
||||
| `POSTHOG_HOST` | Override the PostHog ingestion host. Defaults to `https://us.i.posthog.com` |
|
||||
|
||||
### Provider-Specific
|
||||
|
||||
|
||||
Reference in New Issue
Block a user