Skip to content

Commit b799014

Browse files
authored
docs: rework telemetry doc and add CLI warning (#10354)
1 parent 9c9319f commit b799014

File tree

2 files changed

+32
-24
lines changed

2 files changed

+32
-24
lines changed

cli/server.go

+2
Original file line numberDiff line numberDiff line change
@@ -782,6 +782,8 @@ func (r *RootCmd) Server(newAPI func(context.Context, *coderd.Options) (*coderd.
782782
return xerrors.Errorf("create telemetry reporter: %w", err)
783783
}
784784
defer options.Telemetry.Close()
785+
} else {
786+
logger.Warn(ctx, `telemetry disabled, unable to notify of security issues. Read more: https://coder.com/docs/v2/latest/admin/telemetry`)
785787
}
786788

787789
// This prevents the pprof import from being accidentally deleted.

docs/admin/telemetry.md

+30-24
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,44 @@
11
# Telemetry
22

3-
Coder collects telemetry data from all free installations. Our users have the
4-
right to know what we collect, why we collect it, and how we use the data.
3+
<blockquote class="info">
4+
TL;DR: disable telemetry by setting <code>CODER_TELEMETRY=false</code>.
5+
</blockquote>
56

6-
## What we collect
7+
Coder collects telemetry from all installations by default. We believe our users
8+
should have the right to know what we collect, why we collect it, and how we use
9+
the data.
710

8-
First of all, we do not collect any information that could threaten the security
9-
of your installation. For example, we do not collect parameters, environment
10-
variables, or passwords.
11+
## What we collect
1112

12-
You can find a full list of the data we collect in the source code
13+
You can find a full list of the data we collect in our source code
1314
[here](https://github.com/coder/coder/blob/main/coderd/telemetry/telemetry.go).
15+
In particular, look at the struct types such as `Template` or `Workspace`.
16+
17+
As a rule, we **do not collect** the following types of information:
18+
19+
- Any data that could make your installation less secure
20+
- Any data that could identify individual users
1421

15-
Telemetry can be configured with the `CODER_TELEMETRY=x` environment variable.
22+
For example, we do not collect parameters, environment variables, or user email
23+
addresses.
1624

17-
For example, telemetry can be disabled with `CODER_TELEMETRY=false`.
25+
## Why we collect
1826

19-
`CODER_TELEMETRY=true` is our default level. It includes user email and IP
20-
addresses. This information is used in aggregate to understand where our users
21-
are and general demographic information. We may reach out to the deployment
22-
admin, but will never use these emails for outbound marketing.
27+
Telemetry helps us understand which features are most valuable, what use cases
28+
to focus on, and which bugs to fix first.
2329

24-
`CODER_TELEMETRY=false` disables telemetry altogether.
30+
Most cloud-based software products collect far more data than we do. They often
31+
offer little transparency and configurability. It's hard to imagine our favorite
32+
SaaS products existing without their creators having a detailed understanding of
33+
user interactions. We want to wield some of that product development power to
34+
build self-hosted, open-source software.
2535

26-
## How we use telemetry
36+
## Security
2737

28-
We use telemetry to build product better and faster. Without telemetry, we don't
29-
know which features are most useful, we don't know where users are dropping off
30-
in our funnel, and we don't know if our roadmap is aligned with the demographics
31-
that really use Coder.
38+
In the event we discover a critical security issue with Coder, we will use
39+
telemetry to identify affected installations and notify their administrators.
3240

33-
Typical SaaS companies collect far more than what we do with little transparency
34-
and configurability. It's hard to imagine our favorite products today existing
35-
without their backers having good intelligence.
41+
## Toggling
3642

37-
We've decided the only way we can make our product open-source _and_ build at a
38-
fast pace is by collecting usage data as well.
43+
You can turn telemetry on or off using either the `CODER_TELEMETRY=[true|false]`
44+
environment variable or the `--telemetry=[true|false]` command-line flag.

0 commit comments

Comments
 (0)