https://help.qlik.com/en-US/sense/3.1/Subsystems/ManagementConsole/Content/provide-users-with-access-using-user-types.htm
Define a custom property with the user role you want:
Developer: is allowed to create apps, sheets, stories, objects and can use and create data connections.
Contributor: is allowed to create stories and sheets for published apps but is not allowed to create new apps.
Consumer: can only consume and is not allowed to create content.
A developer can create apps and modify connections and a contributor can only create private stories or sheets based off a developer's app.
Once you've defined a custom property with one of these access roles click the users page in QMC and then you can assign a security rule to your users based on this custom property.
Load data rights can be defined in a separate section access section of the script within the app. The owner of the app has to modify this.