Skip to content

Projects and organizations

An organization is the tenant boundary in feat: members, billing, and roles all live at this level. A project lives inside an organization and groups together the flags, segments, environments, and context kinds for one product or service.

You almost always want one. Each organization is a hard isolation boundary: members in one cannot see anything in another, and there is no cross-organization sharing. Use a separate organization only when the boundary is intentional and total, like a holding company with independent subsidiaries.

A project is the unit that holds your flags. Same project means:

  • Same set of context kinds.
  • Same set of segments (you can reuse a segment across many flags in the project).
  • Flags reference each other’s keys without ceremony.

Different projects mean none of that: segments do not cross, context kinds do not cross, flags cannot reference each other.

Default to one project per product surface. Teams that ship one product split into many projects later if they need to and almost always regret it. The case for many projects is when two product lines have nothing operational in common (different SDK fleets, different audiences, different teams) and you would never want to share a segment between them.

Organization
members, roles, invitations
legal & billing
organization-level feature toggles
└── Project
flags, segments, context kinds
audit log
└── Environment
targeting state, SDK keys, change requests,
workflows, progressive rollouts, scheduled changes

Members belong to the organization, not the project. Permissions can scope a member to a subset of resources via custom roles; see Members and roles.

Both projects and organizations carry a name (free text) and a slug (kebab-case, unique within scope). Slugs appear in URLs and in the API. Pick something readable and short; you can rename the display name later, and the slug too, but linked URLs will need updating.