Org and team management runs on roles, not shared logins
A headless CMS scopes every template, entry, member, and API key to an org. Team management is the layer that decides who inside that org can do what. Draftbase implements it with three org roles and a dedicated invite flow, so permissions live next to the org, not inside a shared password.
Why content teams need role-based access, not just logins
A shared login answers one question: can this person get in. It says nothing about what they should be able to do once inside. A writer who only needs to publish blog posts does not need the ability to delete the organization or rotate billing details. Without roles, every teammate gets the same access by default, which is usually far more than their job requires. That mismatch compounds as a team grows past its first two or three people.
This gap is measurable at the identity layer, not just the CMS layer. A 2025 enterprise SaaS security report found 71% of CRM logins and 47% of file-sharing logins still happen without SSO. (Source: LayerX 2025 Enterprise AI and SaaS Data Security Report) That gap means access control often has to happen inside the app itself, since the identity layer alone is not enforcing it consistently.
Role separation is also what makes team management a market of its own, not a footnote to authentication. The global role-based access control market was valued at $8.3 billion in 2022. (Source) It is projected to reach $24.3 billion by 2032, an 11.8% CAGR. (Source) That growth tracks a real shift: teams are buying tools that treat roles as a first-class concept, not a login screen with a single admin checkbox.
Content teams feel this gap early. A marketing writer, a finance lead, and a founder all need access to the same org, but not to the same actions. The writer needs to publish. The finance lead needs to see an invoice, not touch a template. The founder needs to be able to remove any of them if something goes wrong. One shared login collapses all three needs into one account, so the org either over-grants access to be practical or blocks people from doing their job.
Role-based access also changes what an incident looks like. Without roles, a compromised login is a full org compromise — content, members, and billing all at once. With roles, a compromised admin account still can't touch billing, and a compromised billing account still can't publish or delete content. The blast radius of one bad login shrinks to whatever that one role can reach.
Structured content already gives teams a partial audit trail through revisions. Roles complete that picture by narrowing who could have caused a given change in the first place. A team investigating an unexpected edit can rule out everyone on a billing-only role before looking anywhere else, instead of treating every account as an equally likely suspect.
How Draftbase implements team management
Team management in Draftbase rests on two separate checks, not one. A request is first scoped to an org, then checked against the role of the member making it. Neither check depends on the other, which is what lets billing stay separate from content and lets platform staff tooling stay out of the org-role system entirely.
Org as the tenant boundary
Templates, entries, members, and API keys all scope to an org. Every management request carries an org ID, checked before anything else runs, so a role only ever grants access inside that one org.
Three org roles
Owner, admin, and billing. The owner role is set once on org creation and cannot be changed, so an org can never end up without one, even after a full team turnover.
Dedicated members module
Invites, role changes, and removals run through their own module, separate from content and billing endpoints, with pending invites tracked by email until the invited person signs up.
Platform staff access, kept separate
A distinct internal guard gates Draftbase's own staff tooling. It checks the user account directly, ignores org membership entirely, and is unreachable from the SDK, CLI, or MCP server.
Org roles and platform staff access are enforced by two different checks. One reads a membership row scoped to the org in the request. The other reads a flag on the user account and never looks at org membership at all. Session auth also has no API-key fallback on the staff-only side, unlike the org-role check, which accepts either a session or a management-scoped API key. That difference is deliberate: staff tooling should never be reachable by anything running unattended, only by a person signed into the browser.
How invites and role changes actually work
Inviting a teammate takes an email and a role of admin or billing. Owner is not an option on invite, since every org gets exactly one owner at creation and that assignment does not move through the invite flow.
If the invited email doesn't match an existing account, the invite is stored as a pending membership keyed by that email instead of a user ID. It activates and picks up a real user ID the moment that person signs up or logs in with a matching email, so an invite can go out before an account exists.
This ordering matters for onboarding. A manager doesn't have to wait for a new hire's first login before granting access — the invite can be sent the day the offer is signed, with the role already decided. The pending record sits inactive and inert until claimed, so it carries no access on its own.
Role changes go through the same members module, with one guardrail: the owner's role can never be changed through this endpoint. That keeps an org from being left without an owner by a routine permissions cleanup. Removing a member revokes their access going forward, but it does not touch what they already did — entry revisions stay attributed to them, since revision history isn't tied to an active membership.
Team management approaches compared
The differences between these three approaches show up most clearly at the edges: what happens when someone leaves, when billing needs to change hands, or when someone asks who published a given entry. A shared login has no answer to any of these. A generic CMS answer depends on the vendor. Draftbase answers them with the same mechanism used for every other request — org ID plus role.
| Approach | Shared login / no roles | Generic CMS with basic roles | Draftbase org roles |
|---|---|---|---|
| Access boundary | None — one shared account | Usually per-CMS-instance | Per-org, with org as the tenant boundary for everything |
| Billing separation | N/a | Often bundled with admin | Dedicated billing role |
| Audit trail | None | Varies by vendor | Entry revisions plus org-scoped membership records |
| Invite flow | Manual credential sharing | Vendor-dependent | Dedicated members/invite module |
None of these rows are theoretical for a growing team. Access boundary decides whether a departing contractor still has a working password. Billing separation decides whether a finance hire needs write access to content just to update a card. Audit trail decides whether a bad edit is a two-minute rollback or a guessing game about who touched what.
Invite flow matters more than it looks on a comparison chart. A vendor-dependent flow means onboarding behavior differs every time you evaluate a new CMS, and support for pre-account invites is inconsistent across vendors. A dedicated module means that behavior is defined once, in one place, and stays the same as the team grows.
Common pitfalls in team access control
Teams often treat "who can log in" and "who can publish" as the same question. They are not. Authentication proves identity. Authorization decides what that identity can touch once inside. A 2025 enterprise SaaS security report found 47% of file-sharing logins still happen without SSO. (Source: LayerX 2025 Enterprise AI and SaaS Data Security Report) That gap shows identity checks alone are not filling the authorization role many teams assume they cover.
The second common failure is under-using role separation, making everyone an admin because it's the path of least resistance. That choice quietly removes the audit and rollback value structured content already provides. Entry revisions can show what changed and when, but that record means less if every account could have made the change, or deleted the org outright.
The fix for both is the same, and it doesn't require more tooling. Assign roles by what a person's job actually needs on day one, not by who asked first or who set up the org. Reserve the billing role for people who touch invoices, keep admin for people who touch content and members, and treat the owner role as a single, rarely-used safety valve rather than a default for the whole founding team.
Worth calling out separately: none of this replaces SSO, and none of it should be read as an argument against it. Org roles decide what an authenticated person can do. SSO decides how confidently the system knows who that person is in the first place. Skipping SSO because roles exist just moves the weak point one layer up, from over-broad permissions to a login that's easier to phish or share.
Set up your org's roles
Create an org, invite a teammate, and see the admin and billing roles apply in one sitting.
Frequently asked questions
What roles does Draftbase support?
Draftbase has three org-level roles: owner, admin, and billing. Owner is set once on org creation and cannot be reassigned to another role through the members module. Admin and billing are the two roles available when inviting a new member, covering content and member management on one side and billing on the other.
Is org admin the same as platform admin?
No, these are two different guards. Org admin is a role scoped to one org, checked on every request via the x-org-id header against that org's membership record. Platform admin is Draftbase's own internal staff access, gated by a separate check on the user account rather than any org, and is unreachable from the SDK, CLI, or MCP server.
How do I invite a teammate?
Invite by email and role through the members module, choosing either admin or billing. If the invited email doesn't match an existing account yet, the invite is stored as a pending membership keyed by that email and activates once that person signs up or logs in with a matching address.
Can the billing role publish content?
No. Billing is scoped to billing endpoints, separate from content and member management, which the admin role covers instead. A billing-role member cannot create templates, publish entries, or invite other members.
What happens to a removed member's work?
Nothing about their past edits disappears — entry revisions stay attributed and kept, since revision history isn't tied to an active membership. Removing a member only revokes access going forward; it doesn't rewrite or hide what they already published.