Product usage data
The server does not send product usage data unless you turn it on. With
FOUNDINGBOT_X_TELEMETRY_ENABLED=true and a PostHog project key in FOUNDINGBOT_X_POSTHOG_KEY (and optionally
FOUNDINGBOT_X_POSTHOG_HOST), the server sends product usage events to that PostHog project, associated
with a hashed account or installation identifier. To count how many installations one person uses,
it also sends hashed account identifiers: your Founding Bot account, your OpenAI and Claude
accounts when you are signed in, and a random identifier for each device that connects. Events
include the provider, model, reasoning effort, permission mode, turn result, duration, release
channel, and main-agent token totals when available.
Events do not include prompts, responses, file contents, authentication tokens, conversation IDs, raw provider events, or child-agent output. Child-agent token use is excluded from the totals.
Set these variables in the server's environment before starting it.
Export diagnostics to your own receiver
To send traces, metrics, or logs to an OpenTelemetry receiver, open
Settings > General > Diagnostics, select an environment, and enter each signal's OTLP HTTP
endpoint under OpenTelemetry export (for example http://localhost:4318/v1/traces). Save, then
restart that environment's server. The receiver must be reachable from the server's machine.
Test sends an empty export from the server to check an endpoint before or after you save it;
saved endpoints are checked when the section opens. Checks send authentication headers only to
the signal's currently running endpoint and do not follow redirects. To check a new endpoint
that requires authentication, save it and restart the server first.
FOUNDINGBOT_X_OTLP_*_URL and standard OTEL_EXPORTER_OTLP_* environment variables override the saved
settings. An overridden signal shows Set by environment and names the variable that set it, and its
Test checks the running endpoint instead of the field. For endpoints saved here or set with FOUNDINGBOT_X_OTLP_*_URL, set FOUNDINGBOT_X_OTLP_HEADERS for
receivers that need authentication and FOUNDINGBOT_X_OTLP_PROTOCOL=http/protobuf for receivers that do
not accept JSON. An endpoint set with OTEL_EXPORTER_OTLP_* takes its headers and protocol from
OTEL_EXPORTER_OTLP_HEADERS and OTEL_EXPORTER_OTLP_PROTOCOL instead.