Every multi-person workspace I've ever onboarded had this conversation within the first month: 'how do I let our intern post links but not let them touch the theme or change the billing card?' Or: 'our junior copywriter shouldn't be able to add or remove team members.'
Roles are the answer, and we tried hard to keep them simple. Four levels, each with a clear permission scope. No custom-role-builder UI that swallows hours of admin time. You pick the role, you're done.
The four roles, explicitly
Owner — exactly one per workspace. Can do anything, including transferring ownership and deleting the workspace itself. Billing is paid against the Owner's card by default but can be split off to a different payment method (useful when the Owner is the brand director but Finance pays the bill).
Admin — can do almost everything except delete the workspace and transfer ownership. Can add/remove members of any role except other admins. Can edit billing, themes, profiles, integrations, brand controls. Most multi-person teams have 1-3 admins.
Editor — can create, edit, publish profiles and their content. Can't change billing, can't add or remove members, can't modify the brand controls or theme library. Standard role for content team members who do day-to-day work.
Viewer — read-only. Can see profiles, analytics, and the dashboard. Can't make changes. Useful for stakeholders who want to keep an eye on performance without the chance of breaking something.
Tip
Start every new team member as Editor. Promote to Admin only after they've been around long enough that you'd want them to make billing decisions. Demote them to Viewer when they're transitioning out of the workspace. Never grant Admin to someone you'd be hesitant to give your business credit card to.
Per-profile vs workspace-wide roles
By default, a role applies workspace-wide — an Editor can edit any profile in the workspace. On the Scale plan you can scope roles to specific profiles: 'editor on Client A and Client B profiles, viewer on everything else'. Useful for big agencies that want different teams handling different client accounts without seeing each other's data.
What's locked behind Admin / Owner
- Billing settings and payment method changes
- Adding or removing team members
- Changing workspace name, slug, or default domain
- Configuring SSO / SAML (Scale only)
- Deleting profiles (you can recover up to 30 days post-deletion, but only via Admin actions)
- Connecting or disconnecting integrations (Stripe, Mailchimp, etc.)
- Configuring audit-log retention (Scale only)
What's available to Editor
- Creating, editing, and publishing links on assigned profiles
- Editing profile-level theme settings (within the workspace's allowed theme palette)
- Adding email-capture blocks, tip jars, and product blocks (with the workspace's existing Stripe connection)
- Viewing analytics for assigned profiles
- Scheduling content go-live and expiry
Audit accountability
Every action a member takes is logged in the audit log (more on this in the audit-log article) with the member's name, role at the time, IP, and timestamp. So 'who deleted the launch link three hours before the campaign went live' is always answerable, and the answer takes about 10 seconds to find.
“The line between 'editor can publish, admin can change billing' is the line that lets me bring contractors in without anxiety. They cannot, by construction, do the things that would cost me money. That's the actual value of role-based access — not security, just sleep.”
Plan availability
All four roles are available on Build and Scale. Build limits the total seat count to 5 (1 Owner + 4 of any other role). Scale lifts the seat limit and adds per-profile role scoping. Below Build, workspaces don't exist — every account is a single-user Owner of their own workspace.
Audit your roles this week
If you're already on Build or Scale with a multi-person team, the most useful 10 minutes you can spend is opening the members tab and reviewing every member's current role. People often get over-permissioned during onboarding ('I'll just make them admin for now, we'll fix it later'). Later never comes. Now's later.
Share this with a teammate evaluating Linkstacked.