Skip to main content

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

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

  1. When you run conductor init, a unique project ID (UUID) is generated and stored in your conductor.config.ts
  2. On each Worker cold start, Pulse sends a single lightweight request to pulse.ensemble.ai
  3. The request is fire-and-forget using ctx.waitUntil() - it never blocks your Worker
  4. 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 to pulse.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:
  1. No IP Logging: We derive country from Cloudflare’s edge location, not your IP
  2. Random IDs: Project IDs are UUIDs with no relation to your actual project
  3. Minimal Data: We only collect what’s needed for aggregate statistics
  4. Easy Opt-Out: Multiple ways to disable, respecting industry standards
  5. Transparent: This documentation tells you exactly what we collect

Next Steps

Environment Variables

All configuration options

CLI Commands

Command reference