Skip to content
Dashboard

How feature flags decouple deployment from release for engineering teams

Copy link to headingWhat are feature flags?

Copy link to headingBenefits of using feature flags

Copy link to heading6 types of feature flags, how they work, and when to use them

Copy link to heading1. Release flags

Copy link to heading2. Experiment flags

Copy link to heading3. Operational flags

Copy link to heading4. Permission flags

Copy link to heading5. Kill switches

Copy link to heading6. Deployment flags

Copy link to headingBest practices for implementing feature flagging for engineering teams

Copy link to headingWrite the removal PR at flag creation time

Copy link to headingEncode flag type and ownership in metadata

Copy link to headingTreat every flag change as an auditable event

Copy link to headingHow Vercel gives engineering teams feature flags built for production

Copy link to headingServer-side flag evaluation removes client-side performance costs

import { flag } from 'flags/next';
export const showBanner = flag({
key: 'banner',
defaultValue: false,
async decide() {
const user = await getCurrentUser();
return user?.betaAccess === true;
},
});

Copy link to headingPrecomputed variants keep flagged pages static

export const layoutVariant = flag({
key: 'layout-variant',
options: [
{ value: 'a' },
{ value: 'b' },
],
decide: () => 'a',
});
export const precompute = [layoutVariant];

Copy link to headingFlags Explorer integrates flag management into the deployment workflow

Copy link to headingRun your feature flags as infrastructure on Vercel

Copy link to headingFrequently asked questions about feature flagging

Copy link to headingHow do feature flags affect application performance in high-traffic systems?

Copy link to headingHow do you prevent feature flag technical debt from accumulating?

Copy link to headingHow do you test applications with multiple concurrent feature flags?

Copy link to headingHow do feature flags support compliance and auditability?

Ready to deploy?