Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.9 kB · 55 lines
TypeScript
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556/** * Privacy level controls how much nonessential network traffic and telemetry * Claude Code generates. * * Levels are ordered by restrictiveness: * default < no-telemetry < essential-traffic * * - default: Everything enabled. * - no-telemetry: Analytics/telemetry disabled (Datadog, 1P events, feedback survey). * - essential-traffic: ALL nonessential network traffic disabled * (telemetry + auto-updates, grove, release notes, model capabilities, etc.). * * The resolved level is the most restrictive signal from: * CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC → essential-traffic * DISABLE_TELEMETRY → no-telemetry */
type PrivacyLevel = 'default' | 'no-telemetry' | 'essential-traffic'
export function getPrivacyLevel(): PrivacyLevel { if (process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) { return 'essential-traffic' } if (process.env.DISABLE_TELEMETRY) { return 'no-telemetry' } return 'default'}
/** * True when all nonessential network traffic should be suppressed. * Equivalent to the old `process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` check. */export function isEssentialTrafficOnly(): boolean { return getPrivacyLevel() === 'essential-traffic'}
/** * True when telemetry/analytics should be suppressed. * True at both `no-telemetry` and `essential-traffic` levels. */export function isTelemetryDisabled(): boolean { return getPrivacyLevel() !== 'default'}
/** * Returns the env var name responsible for the current essential-traffic restriction, * or null if unrestricted. Used for user-facing "unset X to re-enable" messages. */export function getEssentialTrafficOnlyReason(): string | null { if (process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) { return 'CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC' } return null}