Codejig system supports two different types of users.
The main and default one is a Codejig user. User of this type is supposed to be registered on his/her own and is global to the whole system. He/she can be invited into any existing application or become registered as a contributor for any builder.
The other and rather optional user type is an app-only user. User of such type is created just in context of concrete application and is invisible for others. This user account cannot be managed by the user him/herself, but by the application administrator.
The main reason for registering app-only users is that you might want to simplify the registration process for your users and bother about managing their accounts yourself.
The other reason depends on the difference of how Codejig and app-only users are authenticated. For Codejig users it is done by transferring the authentication request to Codejig hub service running on a separate dedicated server, while for app-only users it is done within the application itself. Each of the options can be enabled or disabled on the Settings page in builder. For new applications the Codejig authentication is enabled as default.
In the future if we support on-premises installations the app-only users could be more preferable for them.