Skip to main content

Permission Handling Guidelines

This document helps you design products where users might be restricted from accessing specific functions. These restrictions can be handled by platform features like the Permission System or the Content Tagging System.

General Rules

  1. The main workflow should always be visible. The main workflow's elements should be visible to all users, even if they cannot access every function. Completely hiding these elements might make the product appear confusing or incomprehensible.

  2. Disable restricted elements. If the user cannot access a function in the main workflow, it should appear disabled, with a tooltip explaining why.

  3. Only show extra functions to those who can access them. Functions outside the main workflow that only selected users can access may be shown only to those users.

What is considered the "main workflow" varies from product to product — there is no hard rule on which functions to disable vs. completely hide.

Disabling Functions

If the user does not have permission to access a specific function in the main workflow, its UI element should still be displayed but in a disabled state.

Hovering these disabled elements should show a tooltip explaining why the function is not accessible. Use the Tooltip component variation for Permission System messages.

Example: If the user does not have permission to create a new segment, disable the "Create Segment" button with the tooltip "Permission Denied: Segments / Create". Hiding the button entirely would cause the user to search for it, and not disabling it would take them to a page they cannot access.

Disabling Screens

If the user does not have permission to access a specific screen, display a full-page Empty State component explaining why.

If possible, avoid redirecting the user to a screen they cannot view — disable the button that would take them there instead.

Example Empty State content:

  • Title: "Permission Denied"
  • Description: "You need the following permission to access this page: [Permission Name]"
  • Action: "Back" button that takes the user to the previous page.

Hiding Functions

If the function is part of the main workflow, do not hide its UI element — this can make the screen appear incomplete or confusing.

Only hide elements if the function is not part of the main workflow and is only accessible to selected users (e.g. a button only account owners can use). If you must hide an element in the main workflow, ensure the UI remains comprehensible for users who won't see it.

Secure Sensitive Data Handling

When dealing with security issues involving non-public data, follow stricter standards. If information is sensitive (e.g. personally identifiable information) or if a user is not authorized to access it, never expose the data. Display only a generic error message such as "Access denied" or "Not authorized" — do not disclose technical reasons, unavailable search results, or other hints that could be exploited.

For security-related questions, contact the SAP Engagement Cloud Security Team at emarsys_security@sap.com.