-
Couldn't load subscription status.
- Fork 851
feat: adds telemetry page #496
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
d8cebab
adds telemetry page
brkalow 8f712d0
Add docs for the telemetry ClerkProvider prop and Clerk option
brkalow 037a8e2
Use false prop
brkalow f425d00
Apply suggestions from code review
brkalow 2d75c7d
clarify wording
brkalow 0cae3d9
update the opt out section's structure and utilize codeblocktabs for …
alexisintech b420b03
Update docs/telemetry.mdx
brkalow d3f1b3d
code review suggestions
alexisintech c53f65f
Merge branch 'main' into brk.feat/telemetry-doc
alexisintech f84b2ca
add page to sidenav under security and privacy
alexisintech 604c6ab
DOCS-736 Fix currentUser return type (#592)
panteliselef caa0d3f
Merge branch 'main' into brk.feat/telemetry-doc
LekoArts File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,116 @@ | ||
| --- | ||
| title: Clerk Telemetry | ||
| description: Clerk collects telemetry data from its SDKs about general product and feature usage. | ||
| --- | ||
|
|
||
| # Clerk Telemetry | ||
|
|
||
| Clerk collects telemetry data from its SDKs about general product and feature usage. Participation in telemetry collection is optional and users of the product can opt-out at any time. | ||
|
|
||
| ## Why is Clerk collecting telemetry data? | ||
|
|
||
| While we actively engage with our users and community to gather feedback and inform our product roadmap, the information collected from these efforts only represents a small subset of our users. | ||
|
|
||
| Collecting telemetry data gives us a clearer picture into how our SDKs, components, and authentication helpers are used for a diverse set of problems. This data provides valuable insights to help us prioritize features that are useful and impactful for as many of our users as possible. | ||
|
|
||
| ## What data is being collected? | ||
|
|
||
| We track general usage information about our SDKs, components, and authentication helpers from **development instances only**. While we collect identifiers that allows us to associate events with specific Clerk instances, **we do not collect any information from your users**. | ||
|
|
||
| Examples of data we are interested in: | ||
|
|
||
| - How often are our different components (`<SignIn />`, `<SignUp />`, `<UserProfile />`) rendered? | ||
| - What props are being used? | ||
| - How are developers utilizing the `appearance` prop on our components? | ||
| - What versions of our SDKs are being used? | ||
| - What associated framework versions are being used? (e.g. what `next` version is being used along with `@clerk/nextjs`) | ||
| - Usage of new features | ||
|
|
||
| <Callout type="info"> | ||
| We regularly audit this list to ensure it is an accurate representation of the data we are collecting. To audit telemetry data sent from our SDKs yourself, you can set a `CLERK_TELEMETRY_DEBUG=1` environment variable in your application. In this mode, telemetry events are only logged to the console and not sent to Clerk. | ||
| </Callout> | ||
|
|
||
| An example event looks like this: | ||
|
|
||
| ```js | ||
| { | ||
| event: 'COMPONENT_MOUNTED', | ||
| cv: '4.62.1', | ||
| sdk: '@clerk/nextjs', | ||
| sdkv: '4.25.6', | ||
| pk: 'pk_test_YmFsYW5jZWQtY293YmlyZC0xNi5jbGVyay5hY2NvdW50cy5kDXyk', | ||
| payload: { component: 'SignIn', appearanceProp: false }, | ||
| } | ||
| ``` | ||
|
|
||
| - `event` — A unique identifier for the event type. | ||
| - `cv` — Clerk Version. The version of the core Clerk library in use. | ||
| - `sdk` — SDK. The Clerk SDK that is being used. | ||
| - `sdkv` — SDK Version. The version of the Clerk SDK. | ||
| - `pk` — Publishable Key. The instance's publishable key. | ||
| - `payload` — Each unique event can provide custom data as part of the payload. As seen above, for the `COMPONENT_MOUNTED` event we track the component name and additional data about prop usage. | ||
|
|
||
| ## What about sensitive data? | ||
|
|
||
| We will not collect sensitive data from your application or development environment that is not directly related to your implementation of Clerk's SDKs. Notably, we will not collect: environment variables unrelated to Clerk, any information about your users, file paths, contents of files, logs, git remote information, or raw JavaScript errors. | ||
|
|
||
| ## How is my data protected? | ||
|
|
||
| Clerk takes data privacy and protection seriously. Telemetry data is most useful in aggregate form to gain product insights, and the raw data is only available to a small subset of Clerk employees. | ||
|
|
||
| We will never share with or sell telemetry data to third parties. The data is used strictly to help improve the Clerk product. | ||
|
|
||
| ## How do I opt-out? | ||
|
|
||
| ### Environment variables | ||
|
|
||
| <Callout type="warning"> | ||
| Note that the variable name might differ between frameworks. See the [framework specific instructions](#framework-specific-instructions) below. | ||
| </Callout> | ||
|
|
||
| For meta-framework SDKs, you can opt-out of telemetry collection by setting the environment variable: | ||
|
|
||
| ```env filename=".env.local" | ||
| CLERK_TELEMETRY_DISABLED=1 | ||
| ``` | ||
|
|
||
| ### `telemetry` prop | ||
|
|
||
| If you are using `@clerk/clerk-react` directly, or using an SDK that doesn't have environment variable support, you can opt out by passing the `telemetry` prop to `<ClerkProvider />`: | ||
|
|
||
| ```tsx | ||
| <ClerkProvider telemetry={false} /> | ||
| ``` | ||
|
|
||
| ### Framework specific instructions | ||
|
|
||
| <CodeBlockTabs options={["Next.js", "React", "Remix", "Gatsby", "JavaScript", "Chrome Extension", "Expo"]}> | ||
| ```env filename=".env.local" | ||
| NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED=1 | ||
| ``` | ||
|
|
||
| ```tsx | ||
| <ClerkProvider telemetry={false} /> | ||
| ``` | ||
|
|
||
| ```env filename=".env.local" | ||
| CLERK_TELEMETRY_DISABLED=1 | ||
| ``` | ||
|
|
||
| ```env filename=".env.local" | ||
| GATSBY_CLERK_TELEMETRY_DISABLED=1 | ||
| ``` | ||
|
|
||
| ```js | ||
| const clerk = new Clerk(publishableKey) | ||
| c.load({ telemetry: false }) | ||
| ``` | ||
|
|
||
| ```tsx | ||
| <ClerkProvider telemetry={false} /> | ||
| ``` | ||
|
|
||
| ```tsx | ||
| <ClerkProvider telemetry={false} /> | ||
| ``` | ||
| </CodeBlockTabs> |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.