The mobile app reflects a member's permissions the way the web does. Access was already enforced on the backend, so a member could never do anything from mobile that their role does not allow; the gap was in the interface, which still offered actions and controls the member could not use and answered with an error.
How it works: every action and control in the mobile app follows the same permission rules as the web. What a member cannot do is not offered, and what they can view but not change is shown as read-only. Rules apply per access level, including guests and the more limited solution roles, and per field wherever field-level permissions are set. Each area of the app behaves as it does on the web, so the same member sees the same options on both platforms.
No change to the permission model or to backend validation; this is interface parity only.