Description
The v4 protocol supplies a telemetry configuration even when callers do not opt in. Its default OTLP trace endpoint is the placeholder https://example.com/v1/traces, and the extension unconditionally creates an OTLP span processor from that default during stagehand.init.
As a result, a default Stagehand instance batches spans for a placeholder third-party domain. Export attempts cannot succeed and may add avoidable network/CORS noise and up to the configured five-second export timeout during flushing or shutdown.
Code reference
packages/protocol/schemas.ts:1546-1551 defines DEFAULT_TELEMETRY_CONFIG with https://example.com/v1/traces and a TODO to replace it.
packages/protocol/schemas.ts:1607 applies that object as the default for every StagehandInitParamsSchema parse.
packages/extension/rpcRouter.ts:78-82 configures tracing before routing stagehand.init.
packages/extension/tracing.ts:100-113 always installs an OTLP processor for the supplied configuration.
packages/extension/tracing.ts:124-139 configures one-second batching and a five-second exporter timeout.
Reproduction
From the repository root, parse the smallest valid initialization payload:
import { StagehandInitParamsSchema } from "./packages/protocol/schemas.ts";
const params = StagehandInitParamsSchema.parse({
protocolVersion: "4.0.0",
clientInfo: { name: "probe", version: "1" },
});
console.log(params.telemetry.traces.endpoint);
Actual output:
https://example.com/v1/traces
Initialize Stagehand without a telemetry option and inspect the extension network requests (or inject a recording SpanProcessor in the tracing tests). Tracing is configured even though the caller did not select an endpoint.
Expected behavior
Until there is an intentional production default, omitted telemetry should not configure an OTLP exporter. Alternatively, the default should be a real documented endpoint with explicit opt-out semantics.
Actual behavior
Omitting telemetry enables export attempts to a placeholder example.com URL.
Why it matters
Default construction should not generate guaranteed-failing background requests. Besides console/network noise, the five-second export timeout can delay shutdown, and the placeholder default obscures whether telemetry is meant to be opt-in or an operational Browserbase feature.
Duplicate/history check
I searched open and closed issues and PRs for example.com/v1/traces, default telemetry, OTLP endpoints, and tracing configuration. The placeholder was introduced by the v4 work in PR #2671 and is still marked TODO; I found no issue, follow-up PR, or discussion saying that exporting to the placeholder is intentional.
Description
The v4 protocol supplies a telemetry configuration even when callers do not opt in. Its default OTLP trace endpoint is the placeholder
https://example.com/v1/traces, and the extension unconditionally creates an OTLP span processor from that default duringstagehand.init.As a result, a default Stagehand instance batches spans for a placeholder third-party domain. Export attempts cannot succeed and may add avoidable network/CORS noise and up to the configured five-second export timeout during flushing or shutdown.
Code reference
packages/protocol/schemas.ts:1546-1551definesDEFAULT_TELEMETRY_CONFIGwithhttps://example.com/v1/tracesand a TODO to replace it.packages/protocol/schemas.ts:1607applies that object as the default for everyStagehandInitParamsSchemaparse.packages/extension/rpcRouter.ts:78-82configures tracing before routingstagehand.init.packages/extension/tracing.ts:100-113always installs an OTLP processor for the supplied configuration.packages/extension/tracing.ts:124-139configures one-second batching and a five-second exporter timeout.Reproduction
From the repository root, parse the smallest valid initialization payload:
Actual output:
Initialize Stagehand without a
telemetryoption and inspect the extension network requests (or inject a recordingSpanProcessorin the tracing tests). Tracing is configured even though the caller did not select an endpoint.Expected behavior
Until there is an intentional production default, omitted telemetry should not configure an OTLP exporter. Alternatively, the default should be a real documented endpoint with explicit opt-out semantics.
Actual behavior
Omitting telemetry enables export attempts to a placeholder
example.comURL.Why it matters
Default construction should not generate guaranteed-failing background requests. Besides console/network noise, the five-second export timeout can delay shutdown, and the placeholder default obscures whether telemetry is meant to be opt-in or an operational Browserbase feature.
Duplicate/history check
I searched open and closed issues and PRs for
example.com/v1/traces, default telemetry, OTLP endpoints, and tracing configuration. The placeholder was introduced by the v4 work in PR #2671 and is still marked TODO; I found no issue, follow-up PR, or discussion saying that exporting to the placeholder is intentional.