Field-level permissions work alongside Baserow’s role hierarchy (workspace → database → table) as an additional security layer. Members who can access a table may still be restricted from editing certain fields based on their role level.
This guide covers how to control who can edit specific fields within tables, protect sensitive columns, and implement the most granular permission control available in Baserow.
Paid feature: Role-based permissions are available on Baserow Advanced and Enterprise plans. View pricing details.
Field-level permissions enable you to restrict the editing of individual columns within a table, protecting sensitive fields while allowing broader access to the table for other data.
Unlike table-level permissions that control access to entire tables, field-level permissions provide column-by-column control to fine-tune who can modify specific data fields.

| Level | Who can edit |
|---|---|
| Admins only | Workspace/database/table admins |
| Builders and higher | Builders + Admins |
| Editors and higher | Editors + Builders + Admins |
| Nobody (Read-only) | No one can edit |
Field-level permissions are a way to refine the access a user already has at the table level; they do not replace table permissions. Field permissions can only restrict editing further; they can’t grant editing to roles that can’t edit the table.
| Table role | Field permission | Effective access |
|---|---|---|
| Editor | Editors and higher | ✓ Can edit field |
| Editor | Builders and higher | ✗ Can view, cannot edit |
| Editor | Admins only | ✗ Can view, cannot edit |
| Viewer | Editors and higher | ✗ Can view, cannot edit (Viewer can’t edit anything) |
| Commenter | Editors and higher | ✗ Can view, cannot edit (Commenter can’t edit data) |
| Admin | Admins only | ✓ Can edit field |
Users see a lock icon or visual indicator on fields they cannot edit, making permissions transparent.

When using Baserow forms, field-level permissions affect which fields can be set during form submission:
To configure form submission restrictions:
Learn more about creating forms.
Field-level permissions apply to both web interface and API requests. API reads always return field data (if table access exists), API writes respect field permission levels. Attempting to edit a restricted field via API returns a permission error.
Example API response:
{
"error": "ERROR_FIELD_NOT_EDITABLE",
"detail": "User does not have permission to edit this field"
}
Test API integrations with different role accounts to ensure field permissions work as expected.
Learn more about Baserow API.
| Permission level | Granularity | Use when |
|---|---|---|
| Workspace roles | All content | Setting org-wide defaults |
| Database roles | All tables in database | Creating department boundaries |
| Table roles | All fields in table | Protecting entire tables |
| Field permissions | Individual columns | Protecting specific columns within accessible tables |
You can use field-level permissions when everyone should see the data, but only specific roles should edit it, and you need an audit trail of who can modify the data.
Hide fields when the data shouldn’t be visible at all, to simplify the interface for certain users, and to create role-specific views.
| Feature | Purpose | Visibility | Editing |
|---|---|---|---|
| Field-level permissions | Control who can EDIT | Everyone can see | Restricted by role |
| Hide fields (view settings) | Control who can SEE | Hidden from view | N/A if hidden |
You can combine both: hide the field in certain views and restrict editing via field permissions.
Data moves through approval stages with increasing restrictions. Content publishing workflow, Clear workflow with each stage protected appropriately.
Implementation:
Share most data, protect specific sensitive columns. Employee directory with sensitive info, Company directory accessible to all, sensitive fields locked down.
Implementation:
Developers see settings, can’t modify production secrets. Application configuration database, Developers work with configs safely, production secrets protected.
Implementation:
Meet compliance requirements for financial data. Financial transactions table, Clear audit trail with tamper-proof timestamps.
Implementation:
GDPR/HIPAA compliance for personal data. Customer relationship management, Compliance-ready customer data management
Implementation:
It is possibly because the field permission is too restrictive for the user’s role, the user’s table role doesn’t allow editing (Viewer, Commenter), or workspace/database role overrides are causing confusion
Check field permission setting (Field Options → Permissions), verify user’s role at the table level (must be Editor or higher to edit any field), and confirm user’s effective role considering workspace → database → table hierarchy
This is because browser cache or session issue. Refresh the page (hard refresh: Cmd/Ctrl + Shift + R), clear browser cache, log out and log back in, and try a different browser to isolate the issue
This is because the field is set to “Read-only” (Nobody). “Read-only” fields cannot be manually edited by anyone, including admins. Change the field permission to “Admins only” if manual editing should be allowed for admins.
API should respect field permissions. Verify API token has correct permissions, check if using database token vs. user token, and contact support if API permissions aren’t matching web behavior
Yes. You can hide a field in specific views (view-level setting) while still restricting who can edit it via field-level permissions. These are independent settings that work together.
Read-only permission is automatically applied to formula fields since they can’t be manually edited. You can also set formula fields to other permission levels if you want to control who can modify the formula itself.
No. Field permissions must be set individually for each field. This ensures intentional, careful permission assignment for sensitive data.
Data remains unchanged. Field permissions only affect future editing capabilities—they don’t modify, hide, or delete existing field values.
Yes, if you have row change history enabled. Row change history tracks all edits, including which user modified which fields. Learn more about row change history.
Yes. If a field links to another table (Link to table field), field permissions control whether users can modify which records are linked. The permissions on the linked table determine access to the actual linked records.
No. Form submissions respect field-level permissions. Restricted fields cannot be set via form submission, only by users with appropriate roles editing directly in the table.
Permission system:
Field management:
Data security:
Forms and API:
Still need help? If you’re looking for something else, please feel free to make recommendations or ask us questions; we’re ready to assist you.
Contact support for questions about Baserow or help with your account