Skip to content

Sanitize posthog data and add more info in README #4

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 9 commits into from
Sep 19, 2024
Merged
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ Sourcebot also supports indexing GitLab & BitBucket. Checkout the [index.json](.

zoekt will now index your repositories (at `HEAD`). By default, it will re-index existing repositories every hour, and discover new repositories every 24 hours.

4. Go to `http://localhost:3000` - once a index has been created, you can start searching.
4. Go to `http://localhost:3000` - once an index has been created, you can start searching.

## Building Sourcebot

Expand Down Expand Up @@ -182,14 +182,16 @@ The zoekt binaries and web dependencies are placed into `bin` and `node_modules`

A `.sourcebot` directory will be created and zoekt will begin to index the repositories found given `config.json`.

6. Go to `http://localhost:3000` - once a index has been created, you can start searching.
6. Go to `http://localhost:3000` - once an index has been created, you can start searching.


## Disabling Telemetry
## Telemetry

By default, Sourcebot collects anonymous usage data using [PostHog](https://posthog.com/). You can disable this by setting the environment variable `SOURCEBOT_TELEMETRY_DISABLED` to `1` in the docker run command:
By default, Sourcebot collects anonymized usage data through [PostHog](https://posthog.com/) to help us improve the performance and reliability of our tool. We do not collect or transmit [any information related to your codebase](https://github.com/search?q=repo:TaqlaAI/sourcebot++captureEvent&type=code). All events are [sanitized](https://github.com/TaqlaAI/sourcebot/blob/main/src/app/posthogProvider.tsx) to ensure that no sensitive or identifying details leave your machine. The data we collect includes general usage statistics and metadata such as query performance (e.g., search duration, error rates) to monitor the application's health and functionality. This information helps us better understand how Sourcebot is used and where improvements can be made :)

If you'd like to disable all telemetry, you can do so by setting the environment variable `SOURCEBOT_TELEMETRY_DISABLED` to `1` in the docker run command:
```sh
docker run -e SOURCEBOT_TELEMETRY_DISABLED=1 ...stuff... ghcr.io/taqlaai/sourcebot:main
docker run -e SOURCEBOT_TELEMETRY_DISABLED=1 /* additional args */ ghcr.io/taqlaai/sourcebot:main
```

Or if you are building locally, add the following to your [.env](./.env) file:
Expand Down
5 changes: 0 additions & 5 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ import dynamic from "next/dynamic";

const inter = Inter({ subsets: ["latin"] });

const PostHogPageView = dynamic(() => import('./posthogPageView'), {
ssr: false,
})

export const metadata: Metadata = {
title: "Sourcebot",
description: "Sourcebot",
Expand All @@ -31,7 +27,6 @@ export default function RootLayout({
>
<body className={inter.className}>
<PHProvider>
<PostHogPageView />
<ThemeProvider
attribute="class"
defaultTheme="system"
Expand Down
28 changes: 0 additions & 28 deletions src/app/posthogPageView.tsx

This file was deleted.

14 changes: 13 additions & 1 deletion src/app/posthogProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,19 @@ if (typeof window !== 'undefined') {
api_host: "/ingest",
ui_host: NEXT_PUBLIC_POSTHOG_UI_HOST,
person_profiles: 'identified_only',
capture_pageview: false, // Disable automatic pageview capture, as we capture manually
capture_pageview: false, // Disable automatic pageview capture
autocapture: false, // Disable automatic event capture
sanitize_properties: (properties: Record<string, any>, _event: string) => {
// https://posthog.com/docs/libraries/js#config
if (properties['$current_url']) {
properties['$current_url'] = null;
}
if (properties['$ip']) {
properties['$ip'] = null;
}

return properties;
}
});
} else {
console.log("PostHog telemetry disabled");
Expand Down
Loading