From 8fefde3eca72176ca18fc0ea8039fe538ddedce3 Mon Sep 17 00:00:00 2001 From: Brian Love Date: Sun, 7 Jun 2026 18:16:41 -0700 Subject: [PATCH] docs(telemetry): voice pass on guides --- apps/website/content/docs/telemetry/guides/browser.mdx | 8 ++++---- apps/website/content/docs/telemetry/guides/node.mdx | 8 ++++---- .../content/docs/telemetry/guides/privacy-and-opt-out.mdx | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/website/content/docs/telemetry/guides/browser.mdx b/apps/website/content/docs/telemetry/guides/browser.mdx index 8df4c697..e7aa1489 100644 --- a/apps/website/content/docs/telemetry/guides/browser.mdx +++ b/apps/website/content/docs/telemetry/guides/browser.mdx @@ -1,6 +1,6 @@ # Browser Telemetry -Browser telemetry is opt-in. If your Angular app never calls `provideThreadplaneTelemetry()`, the service has no enabled config and `capture()` returns without sending. +Browser telemetry is opt-in. If your Angular app never calls `provideThreadplaneTelemetry()`, the service has no enabled config and `capture()` returns without sending anything. ## Configure @@ -32,7 +32,7 @@ The endpoint receives: } ``` -The browser distinct ID is generated per service instance. The source does not write it to storage. +The browser distinct ID is generated per service instance. The source never writes it to storage. ## Prefer a sink for app-owned analytics @@ -47,7 +47,7 @@ provideThreadplaneTelemetry({ }); ``` -When `sink` is present, the service does not use `endpoint` or PostHog. +When `sink` is present, the service skips `endpoint` and PostHog entirely. ## Sampling @@ -89,4 +89,4 @@ telemetry.captureStreamErrored({ transport: 'langgraph', provider: 'openai', mod Browser capture is wrapped in a `try/catch`. A sink error, fetch failure, or dynamic import failure is swallowed. -That keeps telemetry from becoming part of your application control flow. +That keeps telemetry out of your application's control flow. diff --git a/apps/website/content/docs/telemetry/guides/node.mdx b/apps/website/content/docs/telemetry/guides/node.mdx index 875f1f91..ebe0d73f 100644 --- a/apps/website/content/docs/telemetry/guides/node.mdx +++ b/apps/website/content/docs/telemetry/guides/node.mdx @@ -1,6 +1,6 @@ # Node Telemetry -Node telemetry lives under `@threadplane/telemetry/node`. It is intended for package lifecycle hooks and server-side adapters. +Node telemetry lives under `@threadplane/telemetry/node`. It's built for package lifecycle hooks and server-side adapters. ```ts import { @@ -23,7 +23,7 @@ import { disableTelemetry } from '@threadplane/telemetry/node'; disableTelemetry(); ``` -This sets an in-process flag. It does not mutate environment variables. +This sets an in-process flag. It doesn't mutate environment variables. ## Capture runtime lifecycle @@ -70,7 +70,7 @@ await captureStreamErrored({ }); ``` -`captureStreamErrored()` records an error class. It does not send the full error object. +`captureStreamErrored()` records an error class. It doesn't send the full error object. ## Ingest and sampling @@ -104,4 +104,4 @@ type CaptureResult = | { sent: false; reason: 'disabled' | 'sampled' | 'failed' }; ``` -Use the result in tests or diagnostics. Do not make application correctness depend on telemetry delivery. +Use the result in tests or diagnostics. Don't make application correctness depend on telemetry delivery. diff --git a/apps/website/content/docs/telemetry/guides/privacy-and-opt-out.mdx b/apps/website/content/docs/telemetry/guides/privacy-and-opt-out.mdx index 2871461c..602479e2 100644 --- a/apps/website/content/docs/telemetry/guides/privacy-and-opt-out.mdx +++ b/apps/website/content/docs/telemetry/guides/privacy-and-opt-out.mdx @@ -1,6 +1,6 @@ # Privacy and Opt-Out -The telemetry source has two different privacy postures. +The telemetry source has two distinct privacy postures. Browser telemetry is off unless the app opts in. Node telemetry can send from package lifecycle hooks or server adapters unless the environment or process disables it. @@ -46,7 +46,7 @@ provideThreadplaneTelemetry({ enabled: true, sink }); With `enabled: false` or no provider, browser capture no-ops. -The browser service sends only when application code or framework browser code calls its capture methods. It does not install a global listener. +The browser service sends only when application code or framework browser code calls its capture methods. It never installs a global listener. ## Anonymous IDs @@ -54,7 +54,7 @@ Node uses `anon_` from `node:crypto` and caches it for the current process Browser endpoint delivery uses `browser:` when `crypto.randomUUID()` is available, with a `Math.random()` fallback. The value is kept in the service instance. -The source does not persist either ID across process restarts or browser sessions. +The source never persists either ID across process restarts or browser sessions. ## Data minimization from source @@ -64,7 +64,7 @@ Runtime lifecycle helpers send transport/provider/model style metadata. Stream e The source strips `apiKey` in the Node runtime adapter before sending. -There is no source path that sends prompts, completions, message content, tool call arguments, tool call outputs, or environment variable dumps. +No source path sends prompts, completions, message content, tool call arguments, tool call outputs, or environment variable dumps. ## Custom ingest