Docs
Roles and Access

Roles and Access

The roles and capabilities a person can hold, how they are granted, and what each one can see and do.

The Model

Every account has a role and, for members, a set of capabilities.

RoleMeaning
adminImpact Hub Houston staff. Sees and manages everything.
memberAnyone who joined through the intake. What they see is decided by their capabilities.
devThe build team. Like an admin, plus developer tools such as the tour preview.

Capabilities (for members): founder, mentor, investor, volunteer, partner. A member can hold several. The platform calls each capability an audience; a page, a navigation entry or a resource is aimed at one or more audiences.

partner is special in one way: it is also granted automatically to anyone who belongs to a partner organization on the platform, so the Organization page appears for them the moment they are added to one.

Where It Is Stored

Clerk (the sign-in service) is the record. The role and capabilities live in the account's public metadata there and are copied into the platform's users table by the webhook whenever they change. The session token carries them, so every page knows who it is talking to without a database query.

How a Role Is Granted

  1. At acceptance. Accepting an application grants the capability for the track they applied on. A person who later applies for a second role (from Add a Role on their profile) has it added to the same account.
  2. By an admin. Settings, Members shows everyone with an account; pick a person, change the role or capabilities, save. The change reaches Clerk first, then the platform.
  3. By organization membership. Being added to a partner organization adds partner.

Roles are only ever added by acceptance; removing one is a deliberate admin action on Settings, Members.

What Each Audience Sees

The left rail is built from the audiences a person holds. A founder-mentor sees both sets of entries.

EntryAudiences
Overview, Calendar, Events, Directory, Partners, Tools and TemplatesEveryone
MatchesFounder, Mentor
Business ProfileFounder
Office HoursAdmin, Founder, Mentor
OrganizationPartner, Admin
Manage ResourcesAdmin, Partner
Applications, Matching, AnnouncementsAdmin

Settings follows the same rule: My Profile, Notifications and Connections for everyone; Business Profile, Team, Business Assessment and Sharing for founders; My Availability for volunteers; the whole Workspace and Content group (Members, Team and Roles, Organization Sharing, Forms, Stage Bands, Member Fields, Company Fields, Tag Lists, Email Templates) for staff.

How Access Is Enforced

Three layers, each one a backstop for the one before.

  1. The edge. Before a page even renders, proxy.ts matches the address against the navigation registries and sends a person without the right audience back to the Overview. Routes that partners may open are the exception: partner membership is not readable at the edge, so those routes are checked in the next layer.
  2. The page. Every page reads the identity on the server and refuses or empties itself when the viewer should not be there.
  3. The action. Every write (a server action) re-checks the role before touching the database. A screen that hid a button is never the only thing standing between a member and a change.

Previewing as Another Role

An admin can look at the platform as a founder, mentor, volunteer, investor or partner from the Views switcher in the rail. It changes what is shown, never what the admin may do, and it never shows more than the admin already sees. The tour can be previewed per audience from the same place by a developer.