Working with Personas

White Label Data supports the concept of personas, or the ability to have different users see different pages and data. For example, when a given partner or client logs into your application, you may want to present insights that are specific to that partner or client and limit the set of functionality based on the user.

Page-level vs. Visualization-level Persona Configuration

Personas can be configured at the page level and at the visualization level. Page-level configuration is managed using a feature called page sets. A page set is a group of pages in White Label Data that can be associated with a given user’s profile. You can create multiple page sets and assign different page sets to different users. This allows you to segment your users into groups and provide different navigation menu choices and pages based on their user profile. For example, you may want sales partners to see sales-related pages and marketing partners to see marketing-related pages. For more infomatation page sets, see Configure Multiple Page Sets.

While page sets allow you to provide segmented user experiences by showing different users different pages, they do not filter or restrict the data that is returned from visualizations. To restrict data securely and ensure that different users only see data intended for them, you can configure personas at the visualization-level. More specifically, this means creating a set of custom attributes that are stored in the user profile and incorporating them into the WHERE clauses of your queries.

For example, you can create a user attribute called “partner_name” that indicates the name of the current partner associated with the user. When users view visualizations, the underlying queries could include WHERE partner_column={{ partner_name }} in the SQL. Because user attributes are stored securely in Auth0 and cannot be changed by users, they are a secure way to segment data returned by White Label Data.

Assigning and Modifying Persona Configuration for a User

The page set associated with a user is assigned at the time the user is invited to the app. The Invite Form contains an option to select the page set that the user should have when they authenticate to the app. After submitting the Invite Form, this information is automatically stored in Auth0 and assigned to the user. Similarly, you can extend the Invite Form with addition custom attributes that will be used in visualization-level filters. For more information, see Inviting Users to the App

If you need to make changes to a user’s profile after the initial invitation, you must login into the management portal for Auth0. This requires administrator access for the Auth0 tenant associated with your application. Hashpath will send you an invitation to become an administrator for Auth0 when your account is setup. Once in the Auth0 management portal, navigate to the user you want to modify under Users & Roles / Users. This will allow you to modify the app_metadata for the user. app_metadata is a JSON structure that securely stores attributes for a user that the user cannot themselves modify:


Option Description
custom_attributes An array of name-value pairs, in JSON, that store attributes for the user. These are the same attributes that can configured as invite parameters and substituted between {{ and }} in SQL queries.
app_name The name of the Page Set. This must match the value of app_page_set_name in appconfig.json. See Configure Multiple Page Sets.