Overview
The Upstash Redis SDK collects anonymous telemetry data to help improve the SDK and understand usage patterns. This data includes runtime information, platform details, and SDK version.Telemetry is enabled by default but can be easily disabled. No sensitive data or command payloads are collected.
What Data is Collected
The SDK sends the following metadata with requests:- Runtime: The JavaScript runtime environment (e.g.,
node@18.0.0,edge-light) - Platform: The deployment platform (e.g.,
vercel,aws,console, orunknown) - SDK version: The version of
@upstash/redisbeing used (e.g.,@upstash/redis@1.22.0)
- Your data or Redis commands
- API keys or credentials
- User identifiable information
- IP addresses or personal data
Disabling Telemetry
Via Configuration
Disable telemetry when creating a Redis client:Via Environment Variable
Set theUPSTASH_DISABLE_TELEMETRY environment variable:
With fromEnv()
When usingfromEnv(), telemetry respects the environment variable:
How Telemetry Works
Runtime Detection
The SDK automatically detects your runtime environment:edge-light- Edge runtime (Vercel Edge, Cloudflare Workers, etc.)node@{version}- Node.js runtime with versionunknown- Unknown runtime
Platform Detection
The SDK detects the deployment platform from environment variables:console- Running in Upstash consolevercel- Deployed on Vercelaws- Deployed on AWS (Lambda, etc.)unknown- Unknown or local environment
Telemetry Headers
Telemetry data is sent via theUpstash-Telemetry-* HTTP headers:
Implementation Details
Telemetry Configuration
The telemetry flag is checked during client initialization:- Explicit
enableTelemetryoption in config UPSTASH_DISABLE_TELEMETRYenvironment variable- Default: enabled
Adding Telemetry Data
The SDK adds telemetry during initialization:Telemetry with Custom Requester
If you provide a customRequester, telemetry will still work if your requester implements the mergeTelemetry method:
Examples
Disable for Development
Environment-Based Configuration
Conditional Telemetry
Privacy Considerations
The Upstash Redis SDK is committed to user privacy:- No data collection: Your Redis data and commands are never collected
- No tracking: No unique identifiers or tracking cookies
- Anonymous: Runtime and platform info cannot identify individual users
- Transparent: This page documents exactly what is collected
- Easy to disable: Multiple ways to opt-out
Why Telemetry?
Telemetry helps us:- Prioritize platform support - Understand which runtimes and platforms to focus on
- Identify compatibility issues - Detect problems with specific runtime versions
- Measure adoption - Track SDK version distribution to plan deprecations
- Improve developer experience - Make data-driven decisions about features