Schema Permissions
Schema permissions provide field-level access control. While features control access to pages and actions, and data access scopes control which records you can see, schema permissions control which individual fields within those records are visible or editable.
How Schema Permissions Work
Every field in a FullFabric schema (profile fields, application fields, custom fields, etc.) has two permission arrays:
visible_by— Which roles can see this fieldeditable_by— Which roles can edit this field
These permissions apply to both the UI (fields are hidden or disabled) and the API (unauthorized changes are rejected).
Permission Values
Each permission array contains one or more role identifiers:
| Value | Meaning |
|---|---|
"anyone" |
All authenticated users can see/edit this field |
"admin" |
Only administrators |
"staff" |
Any staff member (any substate) |
"staff::admissions" |
Only staff with the admissions substate |
"staff::finance" |
Only staff with the finance substate |
"student" |
Students |
"applicant" |
Applicants |
"lecturer" |
Lecturers |
Specific staff substates (e.g., staff::admissions) require an exact match — a staff member with the finance substate cannot see fields restricted to staff::admissions. General role states (e.g., staff) match any substate within that role.
What Users Experience
Staff Members
When you view a profile or application, the fields you see depend on your role:
- Fields with
visible_by: ["anyone"]are visible to all staff. - Fields with
visible_by: ["staff::admissions"]only appear for admissions staff. - Fields with
editable_by: ["admin"]appear as read-only for non-admin staff.
If a field is not visible to your role, it is completely hidden — not shown as disabled or empty.
Students and Applicants
Students and applicants see only fields where their role is included in visible_by. For example, an applicant filling out a form sees all fields marked visible to applicants. Internal notes fields marked visible_by: ["staff"] are hidden from applicants entirely.
Lecturers
Lecturers see fields relevant to their teaching context. Fields restricted to staff::academic or lecturer roles appear; fields restricted to staff::finance do not.
For Administrators
Configuring Field Permissions
- Navigate to Settings > Schemas (or the relevant schema editor).
- Select a schema type (profile, application, etc.).
- For each field, set the
visible_byandeditable_byvalues. - Save. Changes take effect immediately.
Schema Types
Schema permissions are available across all entity types in FullFabric:
- Profile schemas
- Application form schemas
- Journey (class/programme) schemas
- Campus schemas
- Course and subject schemas
- Organization schemas
- Event schemas
- Contract, diploma, transcript, evaluation, and reference schemas
Feature Requirements
Managing schema permissions requires the appropriate schema features for each type:
{type}_schema_access— Permission to view the schema configuration{type}_schema_change— Permission to modify field permissions
For example, modifying profile field permissions requires the profile_schema_change feature.