The Organisation in Flagsmith
The top of the tree. Learn how one Organisation holds your people, your projects, your access rules, your API keys and your bill, and how to shape it so a team of five or a company of five thousand can ship safely.
Picture the moment before a big release. Hundreds of engineers have merged their work, a marketing launch is booked for nine in the morning, and somewhere in the code a brand new checkout page is waiting. If that page is broken, the company loses money every minute. If it is hidden behind a switch, a single click can turn it off. That switch is called a feature flag, and Flagsmith is a platform that manages thousands of them for you.
But a switch is only useful if the right person can flip it and the wrong person cannot. Who is allowed to turn the checkout page on? Who can see the billing numbers? Who gets locked out when an engineer leaves the company? Every one of these questions is answered at one single place in Flagsmith: the Organisation. This guide walks through it slowly, from the very first definition to the design choices that senior architects make when they set up Flagsmith for a large company.
You do not need to know anything about Flagsmith to begin. Every new word is explained when it first appears, and each big idea is paired with an everyday picture so it sticks.
1What Is an Organisation in Flagsmith?
Before the Organisation makes sense, two smaller ideas need a clear definition: the feature flag, and the platform that stores it.
First, what is a feature flag?
A feature flag (also called a feature toggle) is an on and off switch placed inside software. The code for a new feature is already deployed to the servers, but the flag decides whether real users can see it. Turn the flag on and the feature appears. Turn it off and it vanishes, with no new deployment needed. Teams use flags to release slowly to a small group, to test ideas, to hide unfinished work, and to shut off a misbehaving feature in seconds.
Second, what is Flagsmith?
Flagsmith is a feature flag and remote configuration service. It gives you a dashboard where people create and control flags, plus a set of SDKs (small libraries that your applications install) which ask Flagsmith what each flag should be right now. It is open source, so a company can run it on its own servers, and it is also offered as a hosted cloud service where Flagsmith runs it for you. Whichever way it is deployed, the building blocks inside are the same.
Third, what is an Organisation?
An Organisation is the outermost container in Flagsmith. Everything else lives inside it. Your people (called members) belong to an Organisation. Your Projects belong to an Organisation. Your groups, your roles, your integration settings, your usage numbers and your subscription plan are all attached to an Organisation. When you sign up for the first time, Flagsmith asks you to create one, because nothing else can exist without it.
The spelling matters only a little, but you will see it in the product: Flagsmith uses the British spelling, “Organisation”, in its dashboard. In this guide the same spelling is used so it matches what you see on screen.
Think of a large office building owned by one company. The company is the Organisation. The floors are Projects. The rooms on each floor are Environments. The company decides who gets a key card, which floors each card can open, and who pays the electricity bill for the whole building. Nobody walks into a room without first being known to the company, and the front desk is where that is decided.
An important detail for newcomers: a single person can belong to more than one Organisation using the same login. A freelance developer might be a member of a client’s Organisation and also own a personal one. Switching between them is done from the dashboard, and nothing leaks across, because each Organisation is a fully separate space.
The Organisation is the control room, not the delivery truck. It decides who can manage flags and how the account is billed. The applications that read flags do not talk to the Organisation directly. They talk to an Environment. You will see exactly why that matters in a later chapter.
2Why Feature Flags Need a Top-Level Container
A flag on its own is trivial. Ten thousand flags owned by two hundred people is a management problem, and the Organisation exists to solve it.
The problem it solves
In the early days of a startup, one developer creates a handful of flags and everybody knows what they do. As the company grows, three things go wrong at the same time. The number of flags explodes. The number of people who touch them multiplies. And the cost of a mistake rises, because a wrong flip now affects millions of users rather than a few friends testing the app.
Without a top-level container, there is no answer to simple governance questions. Who is allowed to create a new product space? Who can invite a contractor? When the contractor leaves, who removes them from every place at once? Who receives the invoice? An Organisation gives each of these questions exactly one home.
Who is responsible?
Every Project and every member is tied to one Organisation, so there is always a clear owner for the whole account.
Who are you?
Members sign in once and are recognised across every Project in the Organisation, with sign-in rules set in a single place.
What may you do?
Groups and roles decide who can view, edit or approve changes, and those rules apply consistently across many Projects.
Who pays?
Usage across every Project is counted together and charged to one subscription, so finance sees one clear invoice.
A school has many classrooms, but only one principal’s office. If every teacher issued their own keys, hired their own cleaners and paid their own water bills, the school would collapse into chaos. The principal’s office is where keys, staff lists and budgets are managed once, so the classrooms can focus on teaching. The Organisation is that office.
How big companies think about this
Large engineering companies learned this lesson long ago. Amazon is widely known for organising work around small teams that each own a service from end to end, often described by the “two pizza team” idea (a team small enough to be fed by two pizzas). Netflix is known for giving teams freedom while keeping shared guard rails. In both styles, teams need autonomy over their own product, while the company needs one place to keep identity, safety rules and cost under control. Flagsmith maps this directly: each team gets its own Project, and the Organisation above them keeps the rules and the bill.
This is also why the Organisation is not optional or hidden. It is the first thing you create and the first screen that explains how everything else fits together.
3The Flagsmith Hierarchy: Organisation, Project, Environment
Flagsmith is built as a tree with three main levels. Understanding the tree is the key to understanding every setting in the product.
At the root is the Organisation. Directly below it are Projects. Below each Project are Environments. At the bottom, inside each Environment, are the actual flag values and the end users (called identities) whose flags are being evaluated. The diagram below shows a fictional company called Acme Corp using Flagsmith.
graph TD
ORG["Organisation: Acme Corp"] --> P1["Project: Checkout Service"]
ORG --> P2["Project: Mobile App"]
ORG --> MEM["Members, Groups and Roles"]
ORG --> BILL["Plan, Usage and Billing"]
P1 --> E1["Environment: Development"]
P1 --> E2["Environment: Staging"]
P1 --> E3["Environment: Production"]
P1 --> SEG["Segments and Tags"]
E3 --> FS["Feature states and values"]
E3 --> IDN["Identities and traits"]
E3 --> KEY["Environment API keys"]
What each level is for
| Level | What it represents | What it holds | Who usually manages it |
|---|---|---|---|
| Organisation | The whole company or customer account | Members, groups, roles, billing, organisation-wide settings, integrations | Platform team, engineering leadership |
| Project | One application, product or service | Feature definitions, segments, tags, project permissions | The team that owns that product |
| Environment | One stage of delivery, such as development or production | The on or off state of each feature, identities, API keys, overrides | Engineers and release managers |
A detail that surprises many beginners
A feature is defined once at the Project level, but its value is stored separately for each Environment. So the feature called “new checkout page” exists once in the Checkout Project, yet it can be on in Development, on for ten percent of users in Staging, and off in Production. This split is what makes safe, step by step releases possible. The Organisation does not hold flags at all. It holds the people and rules that decide who may touch the Projects that do.
Imagine a restaurant chain. The head office (Organisation) decides who can be a manager and who pays the suppliers. Each restaurant (Project) writes its own menu. Inside each restaurant, the lunch service and the dinner service (Environments) may serve the same dish at different prices or not at all. The menu item exists once, but its status changes by service.
An Environment is not the same as a separate Flagsmith account. Development, Staging and Production live inside the same Project, share the same feature names and are managed by the same Organisation. Mixing these up leads people to create a whole new Organisation for every stage, which creates needless cost and duplicate user management.
4What Lives Inside an Organisation
Open the Organisation settings page and you will find a surprisingly rich set of controls. Here is a tour of the main parts.
Projects
The list of products or services. This is where most day to day work happens, and each Project can have its own owners and rules.
Members
Everyone invited into the Organisation. A member may be a full administrator or an ordinary user with limited access.
Groups
Named collections of members, such as “Payments Team”, so permissions can be given to many people in one step.
Roles and permissions
Reusable sets of permissions, available on higher plans, that can be attached to people or groups for fine grained control.
Organisation API keys
Secret keys that let scripts and automation tools manage Flagsmith itself, such as creating Projects from a pipeline.
Webhooks and integrations
Connections that send a message to another tool, such as a chat system or monitoring service, when something changes.
Plan and usage
Your subscription level, how many requests your applications have made, and the limits that apply to your account.
Security settings
Organisation-wide sign-in rules, such as requiring two-step verification or using a company single sign-on service.
Notice a pattern: everything in this list is about who, how much and under what rules. None of it is about whether a particular button on a website is green or blue. That decision lives lower in the tree. This clean separation between management of people and management of features is one of the best design choices in the product, because it lets a security team and a product team work in the same system without stepping on each other.
Scenario: a growing online marketplace
An online marketplace starts with one Organisation and one Project called “Web Store”. Two years later it has a mobile app, a seller dashboard and a payments service. It adds three more Projects to the same Organisation. Its security lead sets a single rule requiring two-step sign-in, and it applies to everyone across all four Projects at once. No team had to configure anything themselves.
5Members, Invitations and Seats
A tool is only as safe as the list of people who can open it. Flagsmith keeps that list at the Organisation level.
What is a member?
A member (sometimes called a user) is a person who has an account in Flagsmith and has been added to your Organisation. The same person can be a member of several Organisations. Each membership carries its own level of power, so someone might be an administrator in one Organisation and a read-only observer in another.
How people join
Joining is done by invitation. An administrator types an email address, chooses what level of access the new person should start with, and Flagsmith sends a message with a link. The person clicks the link, creates a password or signs in with an existing identity provider, and lands inside the Organisation. Flagsmith also supports shareable invitation links, which are handy when onboarding a whole team at once, although such links should be treated like a spare key: short-lived, and removed when no longer needed.
An administrator sends the invitation
They choose the email and the starting permission level. Nothing is shared yet, so the invitee still cannot see anything.
The invitee accepts
They open the link, sign up or sign in, and are added to the Organisation as a member.
The administrator places them in a group
Group membership gives them access to the right Projects without handing out permissions one by one.
The member starts working
They see only the Projects and Environments they were allowed to see, which keeps the screen simple and the risk small.
What is a seat?
A seat is one place for one human in your plan. Paid plans usually allow a certain number of seats, and the member count in your Organisation is compared against that limit. This is one reason to clean up your member list regularly. A former contractor who is still a member is both a security risk and, on some plans, a wasted seat.
A members-only gym issues a card for every person who joins. When someone cancels, a careful gym collects the card. If it forgets, a stranger could walk in months later and nobody would notice. The member list in your Organisation is that card list, and removing people who left is part of good hygiene.
Add the review of your member list to the same checklist you use when somebody leaves the company. If your company uses single sign-on, removing the person there can also cut off their way in, which makes offboarding far more reliable.
Questions new administrators often ask
Should I invite people one by one or in bulk? Invite in small batches, one team at a time. That way you can place each new member into the right group straight away, instead of leaving a crowd of members with no permissions and no clear owner.
What if someone changes teams? Move them between groups. Their membership in the Organisation stays the same, but their reach changes in one step. This is much safer than removing and re-inviting them, which can leave a gap in which work is blocked.
What if a person has two jobs? Put them in both groups. Permissions are combined, so they receive the sum of what both groups allow. Review such double memberships regularly, because they are where over-wide access hides.
6Groups and Role Based Access Control
Giving permissions to individuals does not scale. Groups and roles are the tools that make access manageable when a company grows.
What is a user group?
A user group is a named collection of members. Instead of saying “Priya, Marcus and Aiko may edit flags in the Payments Project”, you say “the Payments Team group may edit flags in the Payments Project”, and then you simply keep the group membership up to date. When a new engineer joins the team, adding them to the group is the only step needed.
What is Role Based Access Control?
Role Based Access Control, usually shortened to RBAC, is the idea that permissions are bundled into named roles, and people receive roles rather than raw permissions. A role such as “Release Manager” might include the right to change flag values in production and approve change requests, but not the right to delete a Project. In Flagsmith, custom roles are a feature of the higher paid plans, while the basic ideas of administrator and ordinary user are available more widely. Always check the current plan details in your account, because the exact split between plans can change over time.
Administrator
Has full power over the Organisation. Should be a very small number of trusted people.
User
A normal member whose power comes only from the permissions and groups that were granted to them.
Team group
A set of people who share a job, such as a squad. Permissions are attached to the group.
Custom role
A reusable bundle of permissions you design yourself, then attach to people or groups.
In a hospital, nobody writes a separate rule for every nurse. There is a role called “nurse” with a known set of allowed actions, and a role called “surgeon” with a different set. A new hire is given a role and instantly knows what they may do. Groups and roles in Flagsmith do the same job for flag management.
Why this matters at scale
Consider a company with forty engineering teams. If every permission is set per person, the access list becomes thousands of small decisions that nobody can audit. With groups, the same company has forty groups and a few standard roles. An auditor can read the list in minutes, and an engineer changing teams only needs one membership change. Large technology companies such as Google and Uber have written publicly about the need for structured access control at scale, and the same principle applies, in a smaller form, to any company using Flagsmith.
7The Permission Model in Depth
Permissions in Flagsmith are layered, following the same three levels as the tree itself. Power given at a higher level flows downward.
There are three layers of permission, each matching one level of the hierarchy. At the Organisation level, permissions answer broad questions, such as whether a person may create new Projects or manage other members. At the Project level, permissions control things such as viewing the Project, creating features, managing segments and viewing the audit log. At the Environment level, permissions control the most sensitive actions, such as changing a feature’s state, managing identities and approving changes.
flowchart TD
U["A member tries an action"] --> A{"Is the member an Organisation administrator?"}
A -- Yes --> OK["Allowed"]
A -- No --> B{"Does a Project permission cover it?"}
B -- Yes --> OK
B -- No --> C{"Does an Environment permission cover it?"}
C -- Yes --> OK
C -- No --> D["Denied"]
The picture above is intentionally simplified. In real use, permissions can arrive from several places at once: directly granted to the person, inherited through a group, or granted by a role. Flagsmith combines them, so a person ends up with the sum of what they have been given. The safe habit is to grant through groups and roles, and to keep direct grants rare, because direct grants are the easiest to forget.
| Layer | Typical question | Example permission | Risk if too wide |
|---|---|---|---|
| Organisation | Who may create products or manage people? | Create Projects, manage users and groups | Uncontrolled sprawl, accidental lock-outs |
| Project | Who may shape the features of this product? | Create or delete features, manage segments | Deleted flags that code still depends on |
| Environment | Who may change what users actually see? | Update feature state, approve change requests | A wrong flip visible to every customer |
Least privilege: the guiding rule
The principle of least privilege says every person should have only the power they need for their job, and no more. In Flagsmith this usually means that many engineers can edit flags in Development, fewer can edit in Staging, and only a small, named group can edit in Production. The widest permission is given where mistakes are cheapest, and the narrowest where mistakes are costly.
In an airport, many people can enter the shop area, fewer can enter the check-in zone, and very few can reach the aircraft on the runway. Power narrows as the cost of a mistake rises. The Development, Staging and Production Environments are the shop, the check-in zone and the runway.
Names of individual permissions and their exact behaviour can differ between Flagsmith versions and plans. Treat the layers and principles in this guide as stable, and confirm the specific permission names in your own dashboard before writing an internal policy document.
8Organisation Settings and Security Controls
Security rules that must apply to everyone belong at the top of the tree. This is where they are set.
Sign-in methods
Flagsmith supports ordinary email and password sign-in, and sign-in through popular identity services. Larger plans add single sign-on, often shortened to SSO. With SSO, people log in through the company’s own identity system, the same one they use for email and internal tools. The big benefit is control: when the identity system says a person no longer works at the company, their access to Flagsmith ends as well. A common standard behind SSO is SAML, a way for two systems to trust each other and pass along a signed statement saying who a person is.
Two-step verification
Two-step verification (also called two-factor authentication or 2FA) asks for a password plus a second proof, such as a code from a phone app. Flagsmith lets an Organisation encourage or require this, so a stolen password alone is not enough to get in. For a platform that can switch off features for every customer, this extra step is strongly recommended.
Limiting who can create Projects
Many Organisations choose to restrict Project creation to administrators. This prevents a situation where fifty people each create their own experimental Project and nobody remembers which is the real one. The rule is small, but it keeps the tree tidy.
Automated user management
At the top tier, companies often want their identity system to create and remove Flagsmith users automatically, with no human clicking. This is called provisioning. Availability depends on your plan and your Flagsmith version, so it is wise to confirm the current options in the official documentation before promising it to your security team.
Scenario: a bank-like regulated company
A financial services company must prove to auditors that only approved people can change anything customers can see. It connects Flagsmith to its identity system, requires two-step verification, limits Production access to a small release group, and keeps the audit history. When an auditor asks “who could have changed this flag last March?”, the answer is a short list taken straight from the groups, not a long investigation.
If a security rule must be true for everyone, set it on the Organisation. If it only needs to be true for one product, set it on the Project. Setting a universal rule in many small places invites gaps.
Choosing among the security options
Not every company needs every control on day one, and piling on rules too early can frustrate teams and push them to find risky shortcuts. A practical order is as follows. Begin with two-step verification, because it is cheap and blocks the most common attack. Add a limit on who can create Projects as soon as more than one team is involved. Introduce single sign-on when the member list is large enough that manual offboarding becomes unreliable. Add approval flows when a mistake in Production would cause real financial or reputational harm. Each step answers a specific pain, and each is easier to adopt when the team can see why it exists.
A final reminder is that security settings are only as strong as the people who understand them. A five minute explanation of why two-step verification matters, delivered kindly at the start, prevents far more resentment than a sudden announcement that everyone must comply by Friday.
9API Keys: Which Key Does What?
Flagsmith uses several kinds of keys. Mixing them up is one of the most common and most costly mistakes, so it is worth learning the differences carefully.
What is an API key?
An API key is a secret string of characters that proves “this request is allowed”. Machines use keys the way people use passwords. Flagsmith has keys at two different levels, and they do completely different jobs.
Client-side key
Safe to place in a website or mobile app. It lets the application ask which flags apply. It is designed to be visible and can only read flag values.
Server-side key
Must stay secret on your own servers. It unlocks richer capabilities, such as reading a complete picture of an Environment for fast local decisions.
Organisation API key
A powerful secret for automation of Flagsmith itself, such as creating Projects or managing members from a script. Treat it like a master key.
User token
Tied to one person, used by them to call the management interface. It disappears in importance when the person leaves, so avoid using it in shared automation.
A hotel gives guests a room card that opens one door. It gives cleaners a floor card that opens many. It keeps one master key in a safe for the manager. The client-side key is the guest card, the server-side key is the floor card, and the Organisation key is the master key in the safe. You never hand out the master key to a guest.
The golden rule
Never place a secret key where the public can read it. A client-side key is meant for the front of the house, so exposure is expected. A server-side key or an Organisation key found in a public website’s source or in a public code repository is an emergency. Rotate it, meaning create a new one and delete the old one, at once.
Automated scanners crawl public code sites looking for leaked keys, and they find them within minutes. If an Organisation key is ever pasted into a public repository, assume it is compromised, even if you delete the file seconds later.
The life of a key
Keys are not permanent. A healthy key has a short biography: it is created for a purpose, named so that people know what it is for, stored in exactly one safe place, used, rotated on schedule, and finally deleted. A key that has no name, no owner and no known purpose is a liability, because nobody dares delete it and nobody notices if it leaks.
Create with a clear name
Use a name that says what the key is for and which system uses it, such as “release-pipeline-production”.
Store in a secrets manager
Put it in a dedicated vault, never in a chat message, a document or a code file.
Record an owner
Every key has a named team that answers questions about it and approves its rotation.
Rotate on a schedule
Replace it every few months, and at once after any staff change that could have exposed it.
Delete when unused
If nothing has used a key for a long time, remove it. The best key is the one that no longer exists.
10Plans, Usage and Billing
Money questions always land at the Organisation, because that is the only place that sees the whole account.
One subscription, many Projects
An Organisation has one subscription plan. Whatever your plan allows, such as how many members, how many Projects and how many requests, is counted across the whole Organisation. A team that creates a tenth Project does not get a tenth invoice. Its usage simply adds to the total.
What gets counted
Usage in Flagsmith is mostly measured in API requests, which are the questions your applications ask when they want to know the current state of a flag. Every time a mobile app opens, or a server refreshes its flags, requests are counted. The Organisation settings page shows this usage over time, so a finance person or engineering manager can see whether the account is growing faster than planned.
Hosted or self-managed
Because Flagsmith is open source, some companies run it on their own infrastructure, often using containers on a cloud platform. In that setup the Organisation concept still exists and still organises people and Projects, but the billing story is different, since the company is paying for its own servers rather than a hosted subscription. Companies in regulated industries often pick this route to keep all data inside their own network.
Plan names, limits and prices are updated from time to time. This guide deliberately does not quote numbers. Open the pricing page and your own billing screen for current figures before making a budget decision.
A household has one electricity meter for the whole house, even though many rooms use power. The meter does not care which room used how much. The bill goes to the owner. The Organisation is the meter at the front of the house, and Projects are the rooms.
Cost control habits
Teams that keep requests under control usually do three things. They cache flag values inside their applications rather than asking on every single page view. They use the server-side pattern of downloading a snapshot and evaluating locally where it suits them. And they review usage monthly, because a bug that polls too often can silently multiply a bill.
A cost thinking exercise
The numbers below are invented purely to teach the idea, so please do not treat them as real prices or limits. Imagine a mobile app with two million active users. Each user opens the app three times a day, and each time the app asks Flagsmith for flags once. That is six million requests a day, or about one hundred and eighty million in a thirty day month. Now imagine a developer changes the app so it also refreshes flags every time the user scrolls a screen. If the average user scrolls forty times a session, the requests could rise by an enormous factor overnight. The cost lesson is not about any one price. It is that a small behaviour change in a client application, multiplied by millions of users, quickly dominates the bill.
The Organisation is where this surprise appears first, because it is the only level that sees combined usage. That is why finance and engineering should share one view of the usage page, and why a regular look at the trend is part of good housekeeping. Large internet companies such as Google and Netflix are well known for treating the cost of every network call as something to design for rather than something to discover on an invoice.
11How It Works Internally: Control Plane and Data Plane
A powerful way to think about Flagsmith is to split it into two halves: the place where people make decisions and the place where applications ask questions.
Two planes
Architects like to divide a system into a control plane and a data plane. The control plane is where configuration is managed by humans: creating Projects, changing permissions, flipping flags. The data plane is where the high speed work happens: millions of applications asking “what is the value of this flag for this user right now?”. In Flagsmith, the Organisation belongs firmly to the control plane. It manages people and rules. The data plane is reached through an Environment and its keys.
flowchart LR
subgraph CP["Control plane"]
ADM["Admin dashboard"] --> API["Management API"]
API --> DB[("Primary database")]
API --> ORGX["Organisation: members, groups, roles, billing"]
end
subgraph DPL["Data plane"]
LB["Load balancer"] --> FE["Flag evaluation service"]
FE --> CACHE[("Cache")]
end
DB --> FE
APP["Your web or mobile app with SDK"] --> LB
SRV["Your backend with SDK"] --> LB
Why this split is clever
If the dashboard is slow or temporarily unavailable, your applications should still get their flags. By keeping management and delivery apart, a heavy day of admin work, such as importing hundreds of flags, does not slow down the customers using your website. The Organisation, which is all about people and policy, is rarely in the busy path at all.
A television network has an office where executives decide which shows run and who is allowed to schedule them. That is the control plane. Separately, there are transmitters that send the signal to millions of living rooms. If the executives go home for the night, the broadcast keeps running. The Organisation is the executive office, and the Environment endpoints are the transmitters.
What the SDK actually does
An SDK (software development kit) is a ready made library you add to your application so it can talk to Flagsmith without you writing the network code. When your application starts, the SDK uses an Environment key to ask for flags. Many SDKs can then keep a copy in memory and refresh it at intervals, so most decisions are made locally within microseconds. Some server SDKs offer a local evaluation mode in which the whole rule set is downloaded once and decisions never leave your own server. This greatly reduces the number of requests, the delay and the dependency on the network.
Production-scale companies care deeply about this behaviour. Netflix, for instance, has spoken publicly about designing for failure, where a dependency being slow must never break the viewer’s experience. The same thinking applies to flags: a sensible default value in code ensures that if Flagsmith cannot be reached, your application still behaves safely.
Always define a safe default for every flag in your code. The default is what your users see if the flag service is unreachable. Choose the default that causes the least harm, which is usually the old, proven behaviour.
Following one flag lookup from start to finish
To make the two planes concrete, follow a single question. A shopper opens a retail app. The app wants to know whether to show the new checkout page.
The app starts
The SDK inside the app wakes up holding an Environment key and a safe default for the new checkout flag.
The SDK asks for flags
It sends the Environment key, and optionally an identity such as the shopper’s account, to the data plane.
The rules are applied
The service looks up the flag state for that Environment, applies any segment rules for the shopper and picks the value.
The answer returns
The SDK receives the value, keeps a copy in memory and hands it to the app.
The shopper sees the result
The new page appears or does not, entirely according to the current value, with no new release.
Notice what was missing from that story: nobody logged in, no member was involved and no permission was checked at that moment. The Organisation did its work earlier, when it decided who was allowed to set up that flag and its rules. At lookup time, only the Environment matters. That is a deliberate and valuable design, because it keeps the part of the system that must be fast away from the part that must be careful.
12Data Flow and Lifecycle of an Organisation
An Organisation is not static. It is born, it grows, it is reorganised and, sometimes, it is retired. Following that life helps you plan ahead.
Creation
The first person signs up and names the Organisation. They become its administrator. A first Project and a couple of default Environments are usually created to help them get started.
Onboarding
Teammates are invited, groups are created, and security rules such as two-step sign-in are switched on before the account holds anything sensitive.
Growth
More Projects appear as the company builds more products. Usage rises, and the plan is reviewed against limits.
Governance
Approval flows, audit reviews and regular cleanups of members, keys and old flags become part of the routine.
Reorganisation
Companies merge, teams split, products are retired. Projects are archived or reassigned, groups are renamed, and people move between groups.
Retirement
Eventually data is exported if needed, keys are revoked and the account is closed so no forgotten credentials remain.
The journey of a single permission change
Suppose a new engineer, Aiko, joins the Payments team. A manager adds her to the “Payments Team” group. From that moment, every permission attached to that group applies to her. She can now see the Payments Project and edit flags in Development. Nothing was changed on the Project itself, and nothing needs to be undone when she leaves, other than removing her from the group. This is the whole point of designing with groups: the data flows from the group to the person, never person by person.
A new employee at a company gets an ID badge and a team name. Doors open because the team name opens them, not because someone edited each door. When they move to another team, one change updates every door at once.
13Advantages, Disadvantages and Trade-offs
No design is perfect. Knowing where the Organisation model shines and where it bites helps you make honest decisions.
Advantages
- One place to manage people, rules and billing for every product.
- Teams get their own Projects, so they move quickly without stepping on each other.
- Groups and roles make large scale access control readable and auditable.
- Single sign-on and two-step verification apply to everyone at once.
- The control plane and data plane split keeps delivery of flags fast and resilient.
- Open source and self-hosting options give flexibility for strict data rules.
Disadvantages and trade-offs
- One Organisation means one blast radius for account level mistakes, such as a leaked Organisation key.
- Some of the finest access control features sit on higher plans.
- Too many Projects make the tree hard to navigate without naming rules.
- Shared usage limits can mean one noisy Project affects the budget of all others.
- Splitting into several Organisations removes shared governance and duplicates user management.
- Teams must agree conventions, because the tool will not invent them.
The central trade-off: one Organisation or many
The biggest design choice is whether to put everything in a single Organisation or to create several. A single Organisation gives unified governance and a single bill, but every administrator can see everything. Several Organisations give hard walls between business units or customers, at the cost of repeated setup and no central view. There is no universally correct answer. The next chapter shows how experienced architects decide.
Building your own versus using a managed platform
Many teams begin with a homemade solution: a configuration file, a database table or an environment setting. For a handful of switches this is perfectly reasonable. The trouble arrives with growth. Someone must build a dashboard, someone must add permissions, someone must add an audit trail, someone must make delivery fast and resilient and someone must keep all of it secure. Each of these is a small project, and together they become a product that does not earn money for the company. The Organisation model, with its members, groups, roles, keys and audit history, is exactly the set of features that homemade systems tend to lack and later regret.
The honest counter-argument is that a platform adds another dependency and another place to manage. Teams with very few flags, a single developer and no audit needs may be better served by something simple. The right choice depends on size, risk and how many people will touch the switches. If you expect more than a few dozen flags or more than a few people, the structure of an Organisation usually repays its cost.
14Design Patterns for Structuring Your Organisation
These are proven shapes that teams use again and again. Pick the one that matches how your company actually works.
One Project per service
Each microservice or product gets its own Project. Good when teams are independent and own their code from start to finish.
One Project per product
Several services that make one customer facing product share a Project, so a single flag can span front end and back end.
Stage-based Environments
Development, Staging and Production in every Project, so flags move through the same path as the code.
Team-owned groups
One group per team, with permissions granted to the group, never to individuals.
Platform team as owner
A small platform group owns the Organisation settings, while product teams own their Projects.
Separate Organisations for hard walls
Used when two business units must never see each other, or when an agency serves several clients.
How to choose
Ask three questions. First, do people need to see each other’s work? If yes, keep one Organisation. Second, must the billing be separated? If yes, consider separate Organisations. Third, could a mistake in one group damage another? If yes, build a stronger wall, either with tight Project permissions or with separate Organisations.
Scenario: a ride-hailing company
A company in the style of Uber runs hundreds of services across many countries. A sensible layout is a single Organisation with a Project per major product area, such as rider app, driver app and payments, and Environments for each stage. Country level behaviour is not modelled by creating more Projects. Instead it uses segments (rules that describe groups of users) inside each Project, which keeps the tree small and the rules flexible.
Scenario: a software agency serving clients
An agency building apps for ten clients keeps each client in a separate Organisation, so one client’s team can never see another’s flags and each client can own its own billing. The agency’s staff simply belong to several Organisations. The extra setup is a deliberate price paid for strong separation.
Agree on a naming style early, such as “team-product” for Projects and fixed names for Environments. A tree with clear names can be understood by a new hire in minutes. A tree of random names takes months to untangle.
15Anti-patterns and Common Mistakes
These traps appear in almost every company that adopts a flag platform. Learn them now and avoid paying for them later.
The mistake
Making everyone an administrator “to save time”.
Why it hurts
A single mistaken click, or a single stolen account, now has the power to delete Projects or change billing. The convenience saved on day one is lost many times over on the day something goes wrong.
Do this instead
Keep administrators to a handful of named people. Give everybody else exactly the group permissions they need.
The mistake
Using one person’s personal token for a shared automation script.
Why it hurts
When that person leaves and their account is removed, the pipeline fails in the middle of a release, usually at the worst possible moment.
Do this instead
Use an Organisation level key for shared automation, store it in a proper secrets manager, and rotate it on a schedule.
The mistake
A new Organisation for every Environment, such as one for testing and one for live.
Why it hurts
It duplicates members, doubles billing and breaks the clean path from Development to Production that Environments are designed to give.
Do this instead
Keep all stages as Environments inside the same Project.
The mistake
Never removing old members, keys or Projects.
Why it hurts
Forgotten access is the quietest source of security incidents. It also clutters the dashboard until nobody trusts what they see.
Do this instead
Schedule a quarterly cleanup of members, keys and unused Projects, and make it somebody’s explicit duty.
More small mistakes worth naming
- Putting a server-side or Organisation key inside a mobile app or web page, where anyone can read it.
- Granting permissions to individuals instead of groups, so no one can audit who can do what.
- Forgetting safe default values in code, so a flag outage becomes a product outage.
- Letting Production permissions drift wider over time, because “just this once” was never undone.
- Creating Projects with vague names, so six months later nobody knows which one is real.
16Monitoring, Audit Trails and Governance
Setting rules is half the job. The other half is being able to see afterwards what really happened.
The audit log
An audit log is a diary kept by the system. Every time something important changes, such as a flag being switched on, a segment being edited or a permission being granted, a line is written saying who did it, what changed and when. When a customer complains that a feature vanished at three in the afternoon, the audit log turns a guessing game into a thirty second lookup. How long history is kept, and how much detail is shown, depends on your plan, so check what your account provides.
A bank branch has cameras and a signed ledger of every transaction. Nobody expects theft, yet the records are what make everyone behave carefully and what allow honest investigation if something does go wrong. The audit log is the ledger and the camera for your flags.
Webhooks and integrations
A webhook is a small automatic message that Flagsmith sends to another system whenever something happens. A team might connect it to a chat tool so that every Production flag change appears in a shared channel. Flagsmith also offers ready made integrations with analytics and monitoring tools, for example Datadog and Slack, so that a sudden spike in errors can be lined up against the exact moment a flag was changed. This pairing is extremely powerful, because most production incidents are caused by a change, and flags are changes.
A flag is changed in Production
The audit log records the person, the time and the old and new values.
A message is sent
A webhook or integration tells the team chat and the monitoring tool.
The graph shows the effect
Engineers see error rates and response times next to the change marker.
A quick decision is made
If the graph turns red, the flag is switched back within seconds, with no deployment and no rollback of code.
Approval flows for risky changes
Higher plans offer change requests, which add a second pair of eyes. One person proposes a change to a Production flag, and another person with the right permission must approve before it takes effect. Some plans also support scheduling a change for a specific time, so a launch can happen at nine sharp without anyone being online at dawn. These features turn the Organisation’s permission layers into a real safety net rather than just a list.
What to monitor at Organisation level
- Usage trend. Is request volume growing as expected, or did a bug just multiply it?
- Member list. Does everyone on the list still work here, and do they still need access?
- Key inventory. Which Organisation and server-side keys exist, who owns them and when were they last rotated?
- Permission drift. Has Production access widened since the last review?
- Stale flags. Which flags have been fully on or fully off for months and should now be removed from the code?
A flag is meant to be temporary. Once a feature is fully released and stable, remove the flag and the old code path. Companies that never do this end up with thousands of dead switches, each one a small risk and a source of confusion.
Reading the audit log like a detective
When something odd happens, the audit log is the first place to look, and a few simple questions solve most puzzles. What changed? Find the entry nearest to the moment the problem started. Who changed it? This is rarely about blame. It is about asking the person what they intended, because they often hold the missing context. What was the old value? This tells you exactly how to undo the change. Did anything else change nearby? Many incidents are caused by two small changes made close together, each harmless alone.
Teams that practise this skill build a habit of leaving a short note whenever they change something important, and the habit pays off. A note such as “reduced search results to protect the database during the sale” saves long debates later. It also gives new engineers a quiet education in how the system behaves under stress.
17Scaling to Many Teams and Millions of Requests
What changes when the company grows from ten engineers to a thousand, and from thousands of requests to millions per minute?
Scaling the people side
The Organisation scales through structure, not through effort. At ten people, one administrator can handle everything by hand. At a thousand, nothing works unless the structure does the work: groups per team, roles per job type, single sign-on for identity, and automation for repetitive tasks. A common growth step is to hand day to day Project administration to the owning team, while a small platform group keeps ownership of Organisation settings.
Scaling the traffic side
Volume is handled in the data plane. Applications that serve millions of users should not ask Flagsmith a fresh question for each page view. Instead they use the caching and local evaluation behaviours of the SDKs, so only a small trickle of requests ever leaves their own network. Some deployments also place a lightweight proxy close to their applications, which answers most questions from a local copy and forwards only updates. The result is both faster responses and a lower usage bill.
flowchart LR
U["Millions of users"] --> APPS["Your application servers"]
APPS --> SDK["SDK with local cache"]
SDK -- "periodic refresh" --> PROXY["Optional local proxy"]
PROXY -- "occasional sync" --> FS["Flagsmith platform"]
FS --> ORG["Organisation controls access and billing"]
Resilience
High availability means the system stays usable even when parts fail. Flagsmith’s design helps in three ways. Delivery of flags is separate from the admin dashboard, so a dashboard outage does not stop flag evaluation. SDKs can keep serving the last known values if the network is down. And your own code can define defaults, so the worst case is a safe, familiar experience rather than an error page. Together these make the flag layer something you can depend on rather than something you must worry about.
A city does not ask the central water plant every time someone turns a tap. Water is stored in local towers, which keep houses supplied even if the plant has a short problem. SDK caches and local proxies are those towers.
A small capacity thought experiment
Suppose an application serves one hundred thousand requests per second at its busiest moment. If every user request caused a fresh flag lookup, the flag platform would need to answer one hundred thousand questions per second, which is wasteful. With caching inside each application server, perhaps only one lookup per server every thirty seconds is needed. If there are two hundred servers, that is about seven requests per second, a reduction of over ten thousand times. The user still receives a decision in microseconds, because the decision is made from memory.
This is why architects who build for large scale talk about moving decisions closer to where they are used. The same idea appears in content delivery networks, in database read replicas and in the local caches of large retailers. For Flagsmith users, the practical takeaway is to choose your SDK mode deliberately: a client which asks often is simple but costly, a server which caches or evaluates locally is a little more setup but dramatically cheaper and faster at scale.
18Real-World Blueprint: Setting Up an Organisation from Scratch
Here is a practical sequence an architect might follow on day one for a company of about a hundred engineers.
Create the Organisation under a company-owned account
Do not use a personal email. Use a shared or role based address so ownership survives staff changes, and name the Organisation after the company.
Name two or three administrators
Pick people from different teams, so the account is never stuck if one of them is on holiday.
Switch on security first
Enable single sign-on if available, require two-step verification and restrict Project creation to administrators.
Design groups before inviting anyone
Create groups that match real teams. Decide which groups may edit each Environment. Write it down in one page.
Create Projects with a naming rule
One Project per service or product. Use Development, Staging and Production Environments with the same names everywhere.
Issue and store keys properly
Put server-side and Organisation keys into a secrets manager. Give client-side keys only to front end code.
Connect monitoring and chat
Send Production changes to a team channel and to your monitoring system so every change is visible.
Schedule the review habit
Put a quarterly review of members, keys, permissions and stale flags in the team calendar.
Scenario: a streaming company’s staged launch
A streaming company in the style of Netflix is releasing a redesigned home screen. The feature lives in one Project, with the flag defined once. In Development it is fully on for engineers. In Staging it is on for the testing team. In Production it begins at one percent of viewers, then five, then twenty-five, while monitoring is watched closely. Only the release group has permission to change the Production value, and each change is posted to the team channel. If error rates rise, the flag is turned off in seconds. The Organisation never appears in the viewer’s request path, yet its permissions and audit trail made the careful rollout possible.
| Maturity stage | Typical size | Organisation focus |
|---|---|---|
| Starting out | 1 to 10 engineers | One Organisation, one Project, a few admins |
| Growing | 10 to 100 engineers | Groups per team, security rules, naming rules |
| Scaling | 100 to 1,000 engineers | Custom roles, approvals, single sign-on, automation |
| Enterprise | 1,000 plus engineers | Audit reviews, provisioning, multiple Organisations where walls are needed |
19A Security Threat Model for Your Organisation
Security work starts by asking a plain question: what could go wrong, who could cause it, and how bad would it be? Architects call this exercise threat modelling.
What is a threat model?
A threat model is a structured list of the valuable things you are protecting, the people or events that could harm them, and the defences you have placed in between. It sounds formal, but you already do it at home. You know your front door is valuable to protect, you know a burglar is a threat, and you know a lock, a light and a neighbour are defences. Doing the same exercise for your Flagsmith Organisation takes about an hour and prevents most nasty surprises.
What are we protecting?
There are four main assets. The first is the live flag values in Production, because they decide what every customer sees. The second is the set of secret keys, because a key is a ready made way in. The third is the member list and permissions, because whoever controls them controls everything else. The fourth is the account itself, including its billing, because an attacker who owns the account can lock out the real owners.
Who might cause harm?
- An outside attacker who steals a password or a key and tries to use it.
- A careless insider who means well but clicks the wrong switch or pastes a secret in the wrong place.
- A malicious insider, rare but real, such as an unhappy employee about to leave.
- A compromised contractor account, where the contractor is honest but their laptop or email was hacked.
- An automated scanner that crawls public code sites around the clock hunting for leaked secrets.
| Threat | How it typically happens | Impact | Best defence |
|---|---|---|---|
| Stolen password | Reused password leaked from another website | Attacker signs in as a real member | Two-step verification and single sign-on |
| Leaked secret key | Key committed to a public code repository | Attacker reads or changes configuration | Secrets manager, scanning, fast rotation |
| Over-wide permissions | Everyone given administrator for convenience | One mistake affects every Project | Least privilege through groups and roles |
| Forgotten former employee | Offboarding checklist skips Flagsmith | Ex-staff keep access | Single sign-on, quarterly member review |
| Accidental Production flip | Wrong Environment selected in a hurry | Customers see a broken or unfinished feature | Approval flows, clear naming, narrow Production access |
| Silent drift | Temporary access never removed | Slowly growing attack surface | Scheduled reviews, audit log checks |
A medieval castle did not rely on one thick wall. It had a moat, an outer wall, an inner wall, guards, a bell to raise the alarm and a plan for what to do if the gate fell. Good security is layered the same way. Two-step sign-in is the moat, least privilege is the inner wall, the audit log is the guard watching, and the key rotation plan is what you do when the gate falls.
Three kinds of defence
Defences fall into three families. Preventive controls stop bad things from happening, such as two-step verification and narrow permissions. Detective controls notice when something already went wrong, such as audit logs and alerts to a chat channel. Responsive controls limit the damage afterwards, such as a written key rotation plan and a way to switch a flag back within seconds. A mature Organisation has all three. An immature one has only the first, and hopes.
Scenario: a leaked credential in a code repository
Public security reporting has repeatedly shown how often secrets end up in code repositories. A widely reported 2016 breach at a major ride-hailing company is often cited in this context, because attackers reportedly found credentials stored in a code repository. The lesson transfers directly to flag platforms: a server-side key or Organisation key that ever touches a repository, even a private one, should be treated as exposed the moment more people can read that repository than should hold the key.
The strongest security mindset is not “how do I make sure nothing ever leaks?” but “when something leaks, how fast can I notice and how small can I make the damage?” Short-lived keys, narrow permissions and loud change notifications all answer that second question.
20Failure Scenarios and Recovery
Things will go wrong. What separates calm teams from panicked ones is that the calm teams already wrote down what to do.
A cautionary tale about forgotten flags
One of the most famous software disasters in finance involved a trading firm, Knight Capital, in 2012. In widely reported accounts, a new release reused an old switch that, on one server which had not been updated, woke up long dead code. In roughly forty-five minutes the firm lost something in the region of four hundred million dollars. The exact technical details have been debated, but the lessons are plain and relevant to every Flagsmith user: old flags must be removed, reusing the meaning of a flag is dangerous, and a deployment is only as safe as its least updated server.
Scenario one: the only administrator leaves
If one person is the only administrator and their account is removed, nobody can manage members, keys or billing. Prevent this by always naming at least two administrators from different teams. If it has already happened, the usual recovery path is to contact Flagsmith support with proof of ownership of the company, which is far slower than simply having a spare administrator.
Scenario two: a secret key is leaked
Create a replacement key
Generate a new key first, so that real systems can be updated without downtime.
Roll the new key out
Update secrets managers and applications. Confirm that traffic is using the new key.
Revoke the old key
Delete the leaked key so it can never be used again, even if copies are still circulating.
Review the audit log
Look for unfamiliar changes during the exposure window. Reverse anything suspicious.
Fix the cause
Find out how the key escaped and close that gap, perhaps with secret scanning in your code repositories.
Scenario three: a wrong flag was flipped in Production
The first move is always to put the flag back to its previous value. The audit log shows what the previous value was. Only after customers are safe do you investigate how the change was made. Teams that rehearse this, and that make the previous value easy to find, typically recover in a minute or two.
Scenario four: single sign-on is unavailable
If your company identity system has an outage and Flagsmith relies on it, nobody can log in at exactly the moment you may need to turn something off. Mature teams keep a small number of emergency accounts that are protected by strong passwords and two-step verification, stored in a secure vault, and used only for such events. Every use of an emergency account should be reviewed afterwards. Confirm with your plan and the current documentation how sign-in fallbacks work for your setup.
Scenario five: usage limits are reached
If your applications ask for flags far more often than expected, the Organisation can approach or exceed the request allowance of its plan. What happens next depends on the plan and the current policy, so it is important to know it in advance rather than discovering it in an incident. Set up usage monitoring and an alert at a comfortable margin below the limit, and fix runaway polling in the application that causes it.
Scenario six: Flagsmith itself is unreachable
Design applications so that the worst case is boring. Use defaults in code. Let SDKs keep the last known values. Avoid putting flag lookups on the critical path of a request without a timeout. If a flag controls something truly essential, such as the ability to log in, think carefully about what the default should be and test that path on purpose.
Print this
Who are the administrators, where are the emergency credentials, how do I find the previous value of a flag, how do I rotate each type of key, and who do I tell. If any of these answers is “I would have to search for it”, write it down today.
Airplane crews rehearse engine failures long before one ever happens. The checklist is on a card, and they follow it without trying to be clever under stress. A runbook for your Organisation is that card.
21A Governance Operating Model
Tools do not run themselves. Governance is the light but clear set of habits and responsibilities that keeps a shared tool useful as more people depend on it.
What is governance?
Governance means deciding who is responsible for what, how decisions are made, and how the group checks that rules are followed. Done badly, governance is a pile of slow approvals that everyone resents. Done well, it is a short page of agreements that nobody has to think about because they are built into the tool.
Who is responsible for what?
A useful way to write this down is a RACI table. RACI stands for Responsible (does the work), Accountable (owns the result and has the final say), Consulted (gives input before) and Informed (told afterwards). Here is a sample for a mid-sized company.
| Activity | Platform team | Product team | Security team | Release group |
|---|---|---|---|---|
| Create a new Project | Responsible | Consulted | Informed | Informed |
| Change an Organisation security rule | Responsible | Informed | Accountable | Informed |
| Create a flag in Development | Informed | Accountable | Not involved | Not involved |
| Change a flag in Production | Consulted | Consulted | Informed | Responsible |
| Rotate Organisation keys | Responsible | Informed | Accountable | Informed |
| Offboard a leaver | Responsible | Consulted | Accountable | Informed |
| Retire an old flag | Consulted | Accountable | Not involved | Informed |
Two lanes of change
Not every change deserves the same care. A sensible model has two lanes. The standard lane covers routine changes, such as turning a flag on for ten percent of users, and needs only the normal permission. The emergency lane covers urgent actions, such as switching off a failing feature, and is intentionally fast. What matters is that the emergency lane still leaves a trail. Anyone using it posts a note in the incident channel, and the change is reviewed the next working day.
A short policy page
The best policy documents fit on one page. They name the administrators, list the groups and what each may do per Environment, state the key rotation schedule, set the quarterly review date and explain how to request access. A page like this gets read. A fifty page policy is signed once and forgotten.
Whenever a rule can be enforced by a setting, enforce it with the setting. Requiring two-step verification in the Organisation settings is more reliable than a reminder email. Approval flows enforce review better than a promise to review.
The quarterly review checklist
- Export or read the member list and remove anyone who has left or changed role.
- List all Organisation and server-side keys, confirm an owner for each and rotate any that are old.
- Check who can change Production and compare it to the policy page.
- Look at usage trends and the plan limits for the coming quarter.
- List flags that have not changed in ninety days and decide which to remove.
- Read a sample of audit log entries to confirm they match expectations.
Traffic rules are not there to slow drivers down. They are there so that thousands of strangers can share the same road without talking to each other. Governance in a shared Organisation works the same way: a few clear rules so that many teams can move freely.
22Multiple Organisations and Special Cases
Most companies need exactly one Organisation. A few have good reasons to use more. Here is how to tell the difference.
Do not confuse your customers with your Organisation
A common beginner error is to create a separate Organisation for every end customer of a software product. An Organisation represents the team that manages flags, not the people who use the product. If you run a service with ten thousand business customers and want different behaviour for each, do not create ten thousand Organisations. Instead use identities (the end users or accounts being evaluated) and traits (facts attached to an identity, such as a plan name or a country) together with segments (rules that select groups of identities). One Project and one Environment can serve all ten thousand customers with different results.
A hotel does not build a separate hotel for every guest. It has one building, one management team and many rooms with different rules, such as a breakfast included or not. Guests are identities, rooms are segments, and the management team is the Organisation.
When separate Organisations make sense
| Situation | Recommended shape | Reason |
|---|---|---|
| One company, many product teams | One Organisation, many Projects | Shared governance and a single bill |
| Agency serving separate clients | One Organisation per client | Clients must not see each other and may need their own billing |
| Two companies after a merger | Plan a merge into one Organisation over time | Unified governance, though moving content may require manual recreation |
| Strict data location rules by region | Separate self-hosted installs per region | Data must stay in a specific country |
| Experiments and learning | A small separate Organisation | Keeps trial work away from real governance |
| Regulated unit within a bigger group | Separate Organisation with its own admins | Strong wall and independent audit trail |
Merging and acquisitions
When a company buys another, both often arrive with their own Flagsmith Organisation. It is tempting to merge them on day one, but the safer path is staged. First, bring both administrator teams together and agree on the policy page. Then decide which Organisation becomes the long term home. Check the current documentation on what can be moved or exported, since moving Projects between Organisations may require recreating them. Finally, migrate one Project at a time, starting with the least critical.
Self-hosted deployments across regions
Global companies sometimes face laws that require certain data to stay inside a country. In such cases a self-hosted Flagsmith deployed in each region is a common answer, with each deployment having its own Organisation. The trade-off is operational: more systems to patch, back up and monitor, and no single dashboard that shows everything. Many companies accept this cost for regulatory peace of mind, as large cloud customers such as banks and health providers routinely do for their sensitive workloads.
Splitting into many Organisations is easy at the start and painful to undo. Ask whether a Project boundary and a group would give you enough separation first. Choose a hard wall only when you truly need a hard wall.
23Moving an Existing Team onto Flagsmith
Few teams start from nothing. Most already have switches hidden in configuration files, environment settings and database tables. Adoption is about bringing order to what exists.
The four kinds of flag
Practitioners of the feature flag style often sort flags into four groups, a classification popularised by engineers writing on well known software design sites. Release flags hide unfinished work and are short lived. Experiment flags split users into groups to measure which version performs better and live for weeks. Operational flags let engineers reduce load or disable heavy features during incidents and may live for years. Permission flags give certain customers or staff special access, and can be permanent. Knowing which kind you hold tells you how long it should live and who should be allowed to change it.
Release flag
Hide a feature until it is ready. Remove it as soon as the release is stable.
Experiment flag
Show different versions to different users to learn which one works better.
Operational flag
A safety valve engineers can use during an incident to protect the system.
Permission flag
Grants access to special customers or staff. Often managed with segments.
A gentle adoption path
Take inventory
Search code and configuration for existing toggles. List what each one does, who owns it and whether it is still needed.
Set up the Organisation shape first
Create administrators, groups, security rules and naming conventions before any team moves in.
Pilot with one friendly team
Choose a team with a real need and a patient attitude. Let them find the rough edges.
Write down what you learned
Update the one page policy and the naming rules based on pilot feedback.
Migrate in waves
Move teams in small groups. Retire old toggle mechanisms as each team finishes, so two systems never run side by side for long.
Measure the outcome
Track how long a release takes, how often a rollback is needed and how quickly a bad change is reversed.
Training the people
A tool alone changes little. People need to learn three habits: always release behind a flag, always define a safe default, and always remove the flag when the work is done. A short workshop and a one page cheat sheet beat a long manual. It also helps to appoint a flag champion in each team, someone who answers questions and keeps naming consistent.
Scenario: an e-commerce company before and after
Before adoption, a retailer of the kind Amazon popularised changed behaviour by redeploying code, which took an hour and needed engineers on call. After adoption, a product manager with the right group permission can reduce a heavy recommendation feature during a sales peak in seconds, while the audit log records exactly what happened. The key change was not the tool itself but the clear Organisation structure that made it safe to hand that power to the right people.
You know adoption is working when nobody is afraid of releasing on a busy afternoon, because everyone knows a switch exists to go back.
24Worked Example: Designing Permissions for Three Teams
Ideas become clear when applied. Let us design access for a fictional company called Northwind Retail.
The company
Northwind has three product teams: Payments, Search and Mobile. It also has a Platform team that runs shared tools, a Security team, a Support team that sometimes needs to check what a customer sees, and an external auditor who visits once a year. There are about eighty people in total. The goals are simple: product teams move fast, Production is protected, and the auditor can see everything without changing anything.
Step one: the structure
One Organisation called Northwind Retail. Three Projects named after the teams, plus one Project for shared platform features. Each Project has Development, Staging and Production Environments with identical names. Two administrators come from the Platform team and one from the Security team.
Step two: the groups
One group per team: Payments Team, Search Team, Mobile Team. One group for the Release Group, which contains a few senior engineers who may change Production. One group for Support, and one for Auditors. Administrators stay out of groups and are named individually, but kept to three people.
Step three: the access grid
| Group | Own Project in Development | Own Project in Staging | Own Project in Production | Other Projects |
|---|---|---|---|---|
| Product team | Create and change flags | Change flags | View only | No access |
| Release Group | View | Change flags | Change flags, approve changes | Production only, when on call |
| Support | No access | No access | View, look up an identity | View in Production |
| Auditors | View | View | View and read audit log | View |
| Platform team | Full on shared Project | Full on shared Project | Change flags on shared Project | Manage structure, not flag values |
This grid is an example of a design, not a copy of actual permission names, which differ between versions. The important pattern is that power narrows as it approaches Production, and that Production changes are concentrated in one small group.
Step four: living with it
A new hire joins Search
They are added to the Search Team group. They see the Search Project and can edit flags in Development on the first day. Nothing else needed.
A contractor joins for six weeks
They join the Mobile Team group with a note in the policy page about their end date. On that date, a calendar reminder triggers removal.
An incident at midnight
The on call engineer from the Release Group switches off a failing Payments feature in Production, posts in the incident channel and writes a short note for the morning review.
The annual audit arrives
The auditor receives a read-only seat and the audit log. The group list answers most questions on its own.
Think of a hospital ward. Nurses can adjust routine care, only senior doctors can change a critical medication, visitors can look but not touch, and inspectors can read the records. Nobody has to argue about it each day, because the roles are clear and the same pattern works in every ward.
25Glossary: Every Term in One Place
Keep this table nearby while you read Flagsmith documentation or talk with your team.
| Term | Plain meaning |
|---|---|
| Feature flag | An on and off switch inside software that decides whether a feature is visible. |
| Remote configuration | Changing settings or values in a running application without redeploying it. |
| Organisation | The top-level container holding people, Projects, rules, keys and billing. |
| Project | The space for one product or service, holding its feature definitions and segments. |
| Environment | One stage, such as Development or Production, holding the live values of features. |
| Feature state | The current on or off value of a feature in one Environment. |
| Identity | An end user or account whose flags are being worked out. |
| Trait | A fact attached to an identity, such as country or plan name. |
| Segment | A rule that selects a group of identities, such as everyone on the premium plan. |
| Tag | A label used to organise and search features. |
| Member | A person who belongs to an Organisation. |
| Group | A named collection of members sharing permissions. |
| Role | A reusable bundle of permissions that can be given to a person or group. |
| RBAC | Role Based Access Control, giving permissions through roles instead of individually. |
| Least privilege | Giving each person only the power needed for their job. |
| Single sign-on | Logging in through a company identity system instead of separate passwords. |
| Two-step verification | A password plus a second proof, such as a code from a phone. |
| API key | A secret string that proves a request is allowed. |
| Client-side key | An Environment key that is safe to place in public apps and only reads flags. |
| Server-side key | A secret Environment key used only on your own servers. |
| Organisation key | A powerful secret used to automate management of Flagsmith itself. |
| SDK | A ready made library that lets your application talk to Flagsmith. |
| Local evaluation | Downloading rules once and deciding flags inside your own server. |
| Control plane | The part of a system where humans manage configuration. |
| Data plane | The part of a system that serves high volume requests from applications. |
| Audit log | A diary of who changed what and when. |
| Webhook | An automatic message sent from one system to another when something happens. |
| Change request | A proposed change that needs approval before it takes effect. |
| Rotation | Replacing a secret key with a new one and deleting the old one. |
| Seat | One licensed place for one person in a plan. |
| RACI | A table saying who is Responsible, Accountable, Consulted and Informed. |
26Best Practices Checklist
A short list to keep nearby. If you do these ten things, you will avoid most of the pain described earlier.
Own it with a role, not a person
Create the Organisation with a company address and name more than one administrator.
Grant through groups
Attach permissions to groups and roles. Avoid direct grants to individuals.
Narrow as risk rises
Wide access in Development, tight access in Production.
Secure sign-in
Use single sign-on where possible and require two-step verification.
Keep secrets secret
Never expose server-side or Organisation keys. Rotate them on a schedule.
Name things consistently
Use agreed names for Projects, Environments and groups.
Always code a default
Choose the safest behaviour for when the flag service is unreachable.
Make changes visible
Send Production changes to chat and monitoring.
Review on a schedule
Quarterly checks of members, keys, permissions and stale flags.
Retire old flags
Remove flags and dead code after a release is stable.
27Frequently Asked Questions
Quick answers to the questions that come up most often when people first meet the Organisation.
28Summary and Key Takeaways
Remember these seven ideas
- The Organisation is the top of the tree. It holds your people, groups, roles, keys, usage and subscription, and everything else sits beneath it.
- Three levels do three jobs. Organisation manages people and rules, Project defines features for one product, Environment holds the live values for one stage.
- Grant through groups and roles. Direct grants to individuals do not scale and cannot be audited.
- Apply least privilege. Wide access in Development, narrow and approved access in Production.
- Know your keys. Client-side keys may be public. Server-side and Organisation keys are secrets and must be rotated when exposed.
- Control plane and data plane are separate. The Organisation is not in the path of flag delivery, so a busy day for admins never slows your customers.
- Review on a schedule. Members, keys, permissions and old flags all need regular cleaning to keep the account safe and cheap.