Docs
Foundations

Access, permissions, and missing controls

Understand Solum roles, team permissions, and why actions or navigation items may not appear.

Solum intentionally hides or blocks product areas based on authentication state, team membership, team type, linked builder profile, team role, and current feature availability. This page is the quickest way to diagnose why a user cannot see a button, page, or action.

How access works

Think of access in layers. Each layer narrows what a user can do.

LayerWhat it controlsExamples
Public visitorPages and actions available without signing in.Explore, builder pages, community pages, development pages, sharing, inquiries.
Signed-in userPersonal account pages and authenticated downloads.Dashboard, Settings, locked document downloads, invitation acceptance.
Team memberAccess to a specific team workspace.Team overview, member list when authorized, billing when authorized.
Linked builder teamBuilder-specific management tools.Builder profile, logo upload, development media, promotions.
Team role and permissionsWhich actions are available inside a team.Settings, members, billing, promotion checkout.
Platform roleInternal Forcir operator tooling.Admin Panel link.

If a user can sign in but cannot open a team page, they are probably not a member of that team or are signed in with the wrong email.

Public vs signed-in features

FeatureSign-in required?Additional requirement
Explore search and filtersNoNone.
Map browsingNoBrowser support and map/location data.
Development pagesNoPublished development data.
Builder and community pagesNoPublished builder/community data.
Submit an inquiryNoValid development page.
Download development documentsYesConfirmed document asset.
DashboardYesNone, but team cards require team membership.
Account settingsYesNone.
Team workspaceYesMembership in that team.
Billing portalYesManage billing.
Builder media toolsYesBuilder team, linked builder profile, Manage team.
Admin PanelYesForcir platform role.

Team roles at a glance

RoleDefault accessSeat behavior
OwnerFull team permissions, including billing and privilege administration.Counts as a billable seat.
AdminDay-to-day team administration and operational permissions. Billing is not included by default.Counts as a billable seat.
MemberBaseline operational role. No team settings, member management, or billing by default.Counts as a billable seat.
BillingBilling portal access only. Intended for finance contacts.Does not count as a billable seat.

Admins can usually invite regular members. Only owners and platform administrators can invite Admin or Billing users.

Permission reference

PermissionCurrent product meaning
Manage teamUpdate team settings. Current builder profile and asset write actions also depend on this broader team update gate.
Manage membersOpen member management, invite regular members, revoke invitations, and remove non-owner members.
Manage billingOpen billing portal, start promotion checkout, and cancel active promotions.
Manage developmentsRole contract for development work. Some current product routes still use broader team update checks.
Manage floor plansRole contract for floorplan work. Full builder-facing floorplan editing is not available yet.
Manage leadsRole contract for future lead management. A complete builder-facing lead inbox is not available yet.
View analyticsRole contract for analytics. Analytics may not appear until a product route exists.

Some permissions are present in the role model before a complete page exists. Do not assume a permission label means a complete page or control is available.

Common visibility rules

Page or controlAppears whenIf it does not appear
Sign inVisitor is signed out.User is already signed in. Use the avatar menu.
Avatar menuUser is signed in.Session may have expired. Sign in again.
Teams menu itemUser is signed in.User is signed out.
Dashboard team cardUser belongs to a non-personal team.User has no accepted team membership or is using the wrong email.
Team Settings buttonUser has Manage team or platform admin access.Ask an owner to change the role or make the update.
Team Members cardUser has Manage members or platform admin access.Members and billing users usually do not see it.
Invite role options Admin and BillingUser is owner or platform admin.Admins can invite only regular members.
Member remove buttonUser can manage members and target member is not owner.Owners cannot be removed directly.
Team Billing cardUser has Manage billing or platform admin access.Admins do not get billing by default.
Builder profile settingsTeam is a linked builder team and user can manage team.Team may not be linked or user lacks permission.
Builder logo uploaderLinked builder profile and Manage team.Confirm builder provisioning and role.
Development management listBuilder team is linked to a builder profile.If no builder is linked, Solum shows "No builder linked".
Hero, gallery, document upload controlsUser can manage team and development belongs to linked builder.File, ownership, storage, or permission checks may fail.
Promotion checkoutUser has Manage billing, development belongs to linked builder, and no active/pending promotion exists.Existing promotion or missing billing access blocks checkout.
Admin Panel linkUser has a Forcir platform role.Team roles do not grant platform admin access.

Actions that can still fail

Some screens may render an action before the API enforces the final rule. If a visible action fails, check the server-side requirement.

ActionRequired condition
Update team settingsManage team.
Delete a teamOwner or platform admin, and not a personal team.
Send a regular member invitationManage members.
Invite Admin or Billing usersOwner or platform admin.
Revoke a pending invitationManage members.
Remove a memberManage members, target is not owner.
Update builder profileLinked builder team and Manage team.
Upload builder logo or development mediaLinked builder team, owned entity, Manage team, valid file, configured storage.
Open billing portalManage billing.
Start featured promotion checkoutManage billing, linked builder team, owned development, no active or pending promotion.
Cancel featured promotionManage billing and an active promotion owned by the team.

Diagnostic flow

For any missing page

  1. Confirm the user is signed in.
  2. Confirm the user is using the expected email address.
  3. Confirm the user can see the team on the dashboard.
  4. Confirm the team type.
  5. Confirm the user's role inside that team.
  6. Confirm the feature is available in the product, not only represented by a permission.

For builder features

  1. Confirm the team type is Builder.
  2. Confirm the team is linked to a builder profile.
  3. Confirm the target development belongs to that builder.
  4. Confirm the user has Manage team for profile/media actions.
  5. Confirm object storage is configured for uploads.

For billing and promotions

  1. Confirm the user has Manage billing.
  2. Confirm the team is linked to a builder profile for promotions.
  3. Confirm the development belongs to that builder.
  4. Confirm there is no active or pending promotion.
  5. Confirm Stripe prices are configured for monthly or quarterly checkout.

Current product limits

These limits are intentional in public docs:

  • Saved homes are not available as a complete feature yet.
  • Builder self-serve claiming is not available yet.
  • Builder teams cannot fully create or edit all catalog records through public team tools.
  • A complete builder-facing lead inbox is not available yet.
  • Admin/import/catalog operations remain internal.

For a broader feature matrix, see Current feature boundaries.

On this page