Pulse
Anonymous usage metrics that help improve Conductor. Conductor Pulse collects anonymous usage metrics to help us understand how the platform is used and prioritize improvements. It’s enabled by default and sends minimal, non-identifying data when your Conductor Worker starts.What We Collect
| Data Point | Description |
|---|---|
| Project ID | A random UUID generated when you run conductor init |
| Event type | What happened (e.g., server.start) |
| Version | Which version of Conductor you’re using |
| Agent count | How many agents your project has |
| Ensemble count | How many ensembles your project has |
| Component count | Total number of components |
| Country | Derived from Cloudflare’s edge location (colo), not your IP |
What We DON’T Collect
- Your IP address
- Project names or file contents
- Agent or ensemble names
- Prompts, schemas, or configurations
- API keys or any secrets
- Any personally identifiable information
How to Opt Out
Option 1: Config file
Option 2: Environment variable
Environment variables take precedence over config file settings. If
DO_NOT_TRACK=1 is set,
Pulse will be disabled regardless of your config.How It Works
- When you run
conductor init, a unique project ID (UUID) is generated and stored in yourconductor.config.ts - On each Worker cold start, Pulse sends a single lightweight request to
pulse.ensemble.ai - The request is fire-and-forget using
ctx.waitUntil()- it never blocks your Worker - If the network request fails, it’s silently ignored
Upgraded Projects
If you’re upgrading from an older version of Conductor that doesn’t have a project ID in your config, Pulse will auto-generate an ephemeral ID at runtime. This means:- Your metrics will still be collected (unless you opt out)
- Each cold start may generate a different ID until you add one to your config
- To get consistent tracking, run
conductor init .to add a project ID to your existing project
Why We Collect Pulse Metrics
- Prioritize features: See which parts of Conductor are most used
- Track adoption: Understand version migration patterns
- Geographic insights: Optimize edge performance by region
- Project complexity: Guide documentation based on typical project sizes
Where Data Goes
Pulse signals are sent topulse.ensemble.ai, a minimal Cloudflare Worker that writes
to Workers Analytics Engine. Data is aggregated and never shared with third parties.
Technical Details
Payload Schema
Request Details
- Endpoint:
https://pulse.ensemble.ai - Method: POST
- Timeout: 5 seconds (non-blocking)
- Retry: None (fire-and-forget)
Privacy-First Design
Pulse was designed with privacy as the top priority:- No IP Logging: We derive country from Cloudflare’s edge location, not your IP
- Random IDs: Project IDs are UUIDs with no relation to your actual project
- Minimal Data: We only collect what’s needed for aggregate statistics
- Easy Opt-Out: Multiple ways to disable, respecting industry standards
- Transparent: This documentation tells you exactly what we collect

