Skip to content

Commit 70f7bd7

Browse files
docs: usage data collection (#6822)
1 parent edd0109 commit 70f7bd7

3 files changed

Lines changed: 82 additions & 5 deletions

File tree

documentation/docs/guides/config-files.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ The configuration files allow you to set default behaviors, configure language m
2020
- **secrets.yaml** - API keys and secrets (only when keyring is disabled)
2121
- **permissions/tool_permissions.json** - Runtime permission decisions (auto-managed)
2222

23+
In addition to editing configuration files directly, many settings can be managed from goose Desktop and goose CLI:
24+
- **goose Desktop**: From the `Settings` page and the bottom toolbar
25+
- **goose CLI**: Run the `goose configure` command
26+
2327
## Global Settings
2428

2529
The following settings can be configured at the root level of your config.yaml file:
@@ -51,6 +55,7 @@ The following settings can be configured at the root level of your config.yaml f
5155
| `SECURITY_PROMPT_CLASSIFIER_ENABLED` | Enable ML-based prompt injection detection for advanced threat identification | true/false | false | No |
5256
| `SECURITY_PROMPT_CLASSIFIER_ENDPOINT` | Classification endpoint URL for ML-based prompt injection detection | URL (e.g., "https://api.example.com/classify") | None | No |
5357
| `SECURITY_PROMPT_CLASSIFIER_TOKEN` | Authentication token for `SECURITY_PROMPT_CLASSIFIER_ENDPOINT` | String | None | No |
58+
| `GOOSE_TELEMETRY_ENABLED` | Enable [anonymous usage data](/docs/guides/usage-data) collection | true/false | false | No |
5459

5560
## Experimental Features
5661

documentation/docs/guides/environment-variables.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -287,9 +287,9 @@ export GOOSE_EDITOR_HOST="http://localhost:8000/v1"
287287
export GOOSE_EDITOR_MODEL="your-model"
288288
```
289289

290-
## Security Configuration
290+
## Security and Privacy
291291

292-
These variables control security related features.
292+
These variables control security features, credential storage, and anonymous usage data collection.
293293

294294
| Variable | Purpose | Values | Default |
295295
|----------|---------|---------|---------|
@@ -300,6 +300,7 @@ These variables control security related features.
300300
| `SECURITY_PROMPT_CLASSIFIER_ENABLED` | Enable ML-based prompt injection detection for advanced threat identification | true/false | false |
301301
| `SECURITY_PROMPT_CLASSIFIER_ENDPOINT` | Classification endpoint URL for ML-based prompt injection detection | URL (e.g., "https://api.example.com/classify") | Unset |
302302
| `SECURITY_PROMPT_CLASSIFIER_TOKEN` | Authentication token for `SECURITY_PROMPT_CLASSIFIER_ENDPOINT` | String | Unset |
303+
| `GOOSE_TELEMETRY_ENABLED` | Enable or disable [anonymous usage data collection](/docs/guides/usage-data) | true/false | false |
303304

304305
**Examples**
305306

@@ -316,6 +317,10 @@ export SECURITY_PROMPT_ENABLED=true
316317
export SECURITY_PROMPT_CLASSIFIER_ENABLED=true
317318
export SECURITY_PROMPT_CLASSIFIER_ENDPOINT="https://your-endpoint.com/classify"
318319
export SECURITY_PROMPT_CLASSIFIER_TOKEN="your-auth-token"
320+
321+
# Control anonymous usage data collection
322+
export GOOSE_TELEMETRY_ENABLED=false # Disable telemetry
323+
export GOOSE_TELEMETRY_ENABLED=true # Enable telemetry
319324
```
320325

321326
:::tip
@@ -513,9 +518,8 @@ When deploying goose in enterprise environments, administrators might need to co
513518
- [Advanced Provider Configuration](#advanced-provider-configuration) - Point to internal LLM endpoints (e.g., Databricks, custom deployments)
514519
- [Model Context Limit Overrides](#model-context-limit-overrides) - Configure context limits for LiteLLM proxies and custom models
515520

516-
**Security and Access Control** - Manage which extensions can run and how secrets are stored:
517-
518-
- [Security Configuration](#security-configuration) - Control extension loading (`GOOSE_ALLOWLIST`) and secrets management (`GOOSE_DISABLE_KEYRING`)
521+
**Security and Privacy** - Control security and privacy features:
522+
- [Security and Privacy](#security-and-privacy) - Manage security and privacy settings such as extension loading, secrets storage, and usage data collection
519523

520524
**Compliance and Monitoring** - Track usage and export telemetry for auditing:
521525

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
title: Anonymous Usage Data
3+
sidebar_label: Usage Data
4+
sidebar_position: 66
5+
---
6+
7+
import Tabs from '@theme/Tabs';
8+
import TabItem from '@theme/TabItem';
9+
import { PanelLeft } from 'lucide-react';
10+
11+
On first use, goose asks for permission to collect anonymous usage data to help improve the product. You can change this setting at any time.
12+
13+
## Usage data collected
14+
15+
To respect your privacy, goose collects only anonymous usage metrics when you opt in. If enabled, the following data is collected:
16+
17+
- Operating system, version, and architecture
18+
- goose version and install method
19+
- Provider and model used
20+
- Extensions and tool usage counts (names only)
21+
- Session metrics (duration, interaction count, token usage)
22+
- Error types (e.g., "rate_limit", "auth" - no details)
23+
24+
Collected usage data doesn't include your conversations, code, tool arguments, error messages, or any personal data.
25+
26+
:::info Provider Data Handling
27+
Depending on the [LLMs](/docs/getting-started/providers) you use with goose, your conversations, prompts, and information accessed by goose might be sent to the provider and subject to their data retention and privacy policies.
28+
:::
29+
30+
## Change Your Preference
31+
32+
To change your usage data collection preference:
33+
34+
<Tabs groupId="interface">
35+
<TabItem value="ui" label="goose Desktop" default>
36+
1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar
37+
2. Click `Settings` in the sidebar
38+
3. Click the `App` tab
39+
4. In the `Privacy` section, toggle `Anonymous usage data` on or off
40+
</TabItem>
41+
<TabItem value="cli" label="goose CLI">
42+
Use the arrow keys to move through the options and press `Enter` to select. A solid dot shows your current selection.
43+
1. Run `goose configure`
44+
2. Choose `goose settings`
45+
3. Choose `Telemetry`
46+
4. Your current telemetry status is shown. Select `Yes` to enable anonymous usage data collection or `No` to disable it.
47+
48+
```sh
49+
┌ goose-configure
50+
51+
◇ What would you like to configure?
52+
│ goose settings
53+
54+
◇ What setting would you like to configure?
55+
│ Telemetry
56+
57+
● Current telemetry status: Disabled
58+
59+
◇ Share anonymous usage data to help improve goose?
60+
│ Yes
61+
62+
└ Telemetry enabled - thank you for helping improve goose!
63+
└ Configuration saved successfully to /Users/julesv/.config/goose/config.yaml
64+
```
65+
</TabItem>
66+
</Tabs>
67+
68+
You can also set the `GOOSE_TELEMETRY_ENABLED` variable directly in your [`config.yaml` file](/docs/guides/config-files), or use it as an [environment variable](/docs/guides/environment-variables#security-and-privacy) to set telemetry status for a given session.

0 commit comments

Comments
 (0)