In case of SharePoint you have 2 options:
Option 1 - Separate screens & in app filtering
- Create 2 screens - 1 for the users and 1 for the managers.
- Keep track of the managers' emails by e.g. a separate SP list or a collection
- In the StartScreen property you will check whether their email is in the admin list, if not navigate them to the User screen
//App.StartScreen (alternatively use a SP list)
If(User().Email in colAdminEmails, AdminScreen, UserScreen)
- The user screen will contain the form where the Item property is set to their SharePoint row
Note: There is one big flaw in this approach being that the data is only 'hidden' in the app context. Should the user navigate to the SharePoint list, they will still see all records.
Option 2 - Define the permissions by using SharePoint Item Level Permission or defining custom item level permission via a flow.
Option 2 is more complex to set up, but is the recommended over option 1 when you want to hide data. You can find an awesome video by Reza explaining the ins and outs of this option. In the video, option 1 is also briefly discussed.
@BCBuizer if you have any other options/suggestions that could work, feel free to add them. 😊