Free cookie consent management tool by TermsFeed

Field-Level Security

Overview

While record-level security allows you to easily specify who can see which records, you may want to hide entire fields from certain users. With field-level security, you can easily secure your data model so only the right users see the right fields.

This page explains field-level security and how to configure it on your record types with data sync enabled.

About field-level security

Field-level security allows you to specify who can see which fields in your record type. By default, any user with Viewer permission to the record type can see all fields. However, you may want to hide fields with sensitive data so it's only visible to certain users.

For example, let's say you have an Employee record type that stores all employee information, including their social security numbers. While employee names, titles, and departments can be visible to all application users, employee’s social security information should only be visible to employees in human resources (HR).

Using field-level security, you can specify that only users in the HR group should be able to see the social security numbers in that field. If a user is not in the HR group and they view an interface or site that references the social security field, the field will display null values or be hidden entirely. Learn where and how field-level security is applied.

Where field-level security is applied

Field-level security automatically applies throughout your applications and Process HQ. However, field-level security does not apply in Appian Designer. This allows developers to build comprehensive apps using all available fields, while ensuring that only the right users can see the right fields.

Field-level security behaves differently depending on where users are viewing the field. The table below outlines how field-level security applies to users in if they do not have access to a field in the following locations:

Location

If a user does not have access to a field...

Process HQ

Data fabric insights The field will be hidden from the dataset when the user builds a report, and they cannot view reports that contain the field.
Process insights Field-level security is not applied in process insights, so data stewards should remove any sensitive fields before granting access to processes.

Appian Designer

All objects Field-level security is not applied in Appian Designer, so developers should test and validate field-level security configurations in their applications.

Applications

Interface components The field will still display in the component, but the values will be null.

You can use the a!doesUserHaveAccess() function to automatically hide fields from the component if a user does not have access to see them.
Queries The field will not be returned in the output of a!queryRecordType() or a!queryRecordByIdentifier().
Filters and sorts An error will appear when the user tries to view a query or interface that uses the field to filter or sort it.
User filters The user filter will be hidden.
Search The user cannot search by that field.

For optimal performance and a consistent user experience, developers can limit the search to fields that are available to all users.
Common fields in a relationship The field will be hidden or null in the locations above.

Configuring field-level security on a common field will not impact the security on the related record type. Even if a common field is hidden from a user, they can still access the related record fields from that relationship if those fields are not also secured.
Fields used in a real-time custom record field In an application, the real-time custom record field will display null values.

In data fabric insights, the real-time custom record field will be hidden from the dataset.
Fields used in a sync-time custom record field The sync-time custom record field will still display and the field values will be visible.

Developers should avoid using sensitive fields in sync-time custom record fields configuration, or configure the custom record field so it hides the sensitive data. For example, users should not see the revenue field, but a developer could create a sync-time custom record field that shows a range of revenue values of high, medium, or low.

Configure field-level security

You can configure field-level security on any field in your record type, except the primary key field.

To configure field-level security:

  1. In the record type, go to Field-Level Security.
  2. Click Edit Field Security next to the field you want to secure.
  3. Choose Who can see this field:
    • By default, All users who can see the record type is selected.
    • Select Only users… to specify which groups of users can see the field. Enter the name of the groups or use the Browse List option to select the groups.

    Tip:  If you don't have a group created yet, click to create a new group and automatically add that group to the field's security.

  4. Click OK.
  5. Click SAVE CHANGES.

Feedback