LaunchDarkly - Feature Flag Management Platform
Analysis of LaunchDarkly and its role in safe deployment of Cursor + Azure AI Foundry features.
Table of contents
Overview
LaunchDarkly is a feature management platform that enables teams to deploy code separately from feature releases using feature flags. This allows safe, gradual rollouts and instant kill switches for problematic features.
Company Information
Company | LaunchDarkly, Inc. |
Founded | 2014 |
Headquarters | Oakland, CA |
Founders | Edith Harbaugh (CEO), John Kodumal (CTO) |
Website | https://launchdarkly.com |
Status | Private (unicorn, $2B+ valuation) |
Notable | Pioneer in feature flag SaaS |
Core Capabilities
1. Feature Flags
Gradual Rollout Example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Gradually enable Azure OpenAI GPT-4o
import { LDClient } from 'launchdarkly-node-server-sdk';
const ldClient = LDClient.init(process.env.LAUNCHDARKLY_SDK_KEY);
async function getAIModel(user) {
const useGPT4o = await ldClient.variation(
'use-gpt4o-model', // Flag key
{ key: user.id, email: user.email }, // User context
false // Default (if flag service down)
);
if (useGPT4o) {
return 'gpt-4o'; // New, faster model
} else {
return 'gpt-4-turbo'; // Stable, proven model
}
}
// Rollout strategy in LaunchDarkly dashboard:
rollout = {
week_1: "5% of users (engineering team)",
week_2: "25% of users",
week_3: "50% of users",
week_4: "100% of users (if no issues)"
}
// If issues detected: Instant rollback (click button)
2. Kill Switches
Emergency Feature Disable:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Azure OpenAI integration with kill switch
const aiEnabled = await ldClient.variation('azure-openai-enabled', user, true);
if (!aiEnabled) {
// Fall back to manual code completion
return { suggestion: null, source: 'disabled' };
}
// If Azure OpenAI has issues:
// 1. Security team disables flag in LaunchDarkly
// 2. All users immediately fall back to non-AI mode
// 3. No code deployment needed
// 4. Fix issue
// 5. Re-enable flag
Time to disable: 10 seconds (vs hours for code deployment)
3. Targeting & Segmentation
User-Based Feature Control:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# LaunchDarkly targeting rules
flag: "enable-cursor-ai-chat"
rules:
- name: "Enable for internal employees only"
clauses:
- attribute: email
op: endsWith
values: ["@company.com"]
variation: true
- name: "Disable for contractors"
clauses:
- attribute: user_type
op: equals
values: ["contractor"]
variation: false
- name: "Enable for security team (testing)"
clauses:
- attribute: department
op: equals
values: ["Security"]
variation: true
rollout:
percentage: 100
default: false # Default to disabled
4. Experimentation
A/B Testing AI Models:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Test which AI model performs better
const modelVariation = await ldClient.variation(
'ai-model-experiment',
user,
'control'
);
const metrics = {
'control': { model: 'gpt-4-turbo', cost: 0.03 },
'variant-a': { model: 'gpt-4o', cost: 0.015 },
'variant-b': { model: 'gpt-3.5-turbo', cost: 0.002 }
};
const selectedModel = metrics[modelVariation];
// LaunchDarkly tracks:
// - Completion quality (user accepts rate)
// - Cost per completion
// - Response time
// - Error rate
// After 2 weeks, data shows:
// - gpt-4o: 15% faster, same quality, 50% cheaper
// - Decision: Roll out gpt-4o to everyone
Security Benefits
1. Safe Deployment of Risky Changes
Progressive Rollout:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Deploying Azure Private Endpoint (risky change):
Traditional Deployment:
├── Deploy to all users at once
├── If misconfigured: All users broken
├── Rollback: 30+ minutes
└── Impact: 50 developers blocked
With LaunchDarkly:
Week 1: 5% of users (1 flag change)
├── Monitor: Connection success, latency
├── If issues: Disable flag (10 seconds)
└── Impact: 2-3 developers max
Week 2-4: Gradually increase
└── 100% rollout only after validation
Result: Zero production incidents
2. Compliance & Audit
Feature Flag Audit Log:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// LaunchDarkly records every flag change
{
"timestamp": "2024-10-10T14:32:15Z",
"user": "security-architect@company.com",
"action": "flag_updated",
"flag": "azure-openai-enabled",
"change": {
"before": { "enabled": true, "rollout": "100%" },
"after": { "enabled": false, "rollout": "0%" }
},
"reason": "Security incident - temporary disable",
"approver": "ciso@company.com",
"ticket": "INC-2024-5678"
}
// Feeds into Chronicle for compliance
3. Emergency Response
Instant Feature Disable:
1
2
3
4
5
6
7
8
9
10
11
12
13
Security Incident: Azure OpenAI Compromise Suspected
Time: 14:32 UTC
Actions:
T+0 min: Security team notified
T+2 min: Disable LaunchDarkly flag: "azure-openai-enabled"
T+2 min: All Cursor instances stop using Azure OpenAI
T+5 min: Investigate compromise
T+30 min: Rotate API keys
T+35 min: Re-enable flag
T+40 min: Validate functionality
Downtime: 38 minutes (vs 2+ hours for code deployment)
Pricing
1
2
3
4
5
6
7
8
9
10
11
12
13
LaunchDarkly Pricing:
├── Starter: $50-75/seat/month (10 seats minimum)
├── Pro: $100-125/seat/month
└── Enterprise: $200+/seat/month (custom)
Customer (10 engineering seats):
10 × $100/month = $1,000/month = $12K/year
ROI:
- Prevented production incidents: $500K/year
- Faster feature delivery: $200K/year (efficiency)
- A/B testing optimization: $100K/year
└── ROI: 67x return
Resources
- Website: https://launchdarkly.com
- Documentation: https://docs.launchdarkly.com
- GitHub: https://github.com/launchdarkly
Last Updated: October 10, 2025
Review Status: Production Validated