-
Notifications
You must be signed in to change notification settings - Fork 0
Analytics and Privacy
JumpStart Wiki Bot edited this page Aug 8, 2026
·
1 revision
Canonical user-facing policy: docs/privacy.md.
-
Ingest from Go, not the webview. Wails is not a browser; a JS SDK would need CSP exemptions, miss
Startup/Shutdown, and fail offline. -
Consent in
settings.json, notconfig.json(projects are a bare array). -
On by default in product builds; no-op when
PostHogAPIKeyis empty (local/fork builds). -
Sanitize at the boundary (
internal/analytics/redact.go) so one bad call site cannot leak paths or free text.
| File | Role |
|---|---|
client.go |
Track, batch, flush |
consent.go |
Load/save enabled flag |
identity.go |
install UUID + HMAC project_ref
|
redact.go |
Property sanitiser |
enums.go |
Bounded failure reasons, runtimes, model family parse |
queue.go |
Offline NDJSON queue |
transport.go |
HTTP to PostHog |
props.go |
Global properties |
osinfo_*.go |
OS version strings |
- ldflags:
main.PostHogAPIKey,main.PostHogHost(see Build-and-Release) - Helpers in
analytics.go,analytics_ops.go,analytics_kanban.go,analytics_lifecycle.go - Frontend bridge:
frontend/src/analytics.js→TrackEvent*bindings
- Name:
object_verb_past_tensesnake_case (e.g.process_started). - Props: counts, booleans, short enums — never paths, names, commands, messages, tokens.
- Fallible ops: use
outcome(start, err, extra)sofailure_reasonis always mapped. - Reach metrics:
trackOnce/TrackEventOnce(e.g.panel_opened). - Add/adjust tests in
redact_test.go/enums_test.gowhen introducing new string shapes. - Update
docs/privacy.mdif the public description of collection changes.
| Surface | Tools |
|---|---|
| Desktop app | PostHog via Go only |
| Landing site | GA4, Clarity, Vercel Analytics |
Datasets are never joined.
Settings → Privacy → toggle. Disabling stops collection and deletes analytics_queue.ndjson.