Abstract: When a user attempts to interact with a third party application the user will generally have to be authenticated to access features of the application and requested to provide user specific information to create a profile or to enable a service. Authentication and user data retrieval is done via an identity provider, in this instance the user will act as the identity provider and authenticate and share data on their own behalf with the use of a user application, which the user has to sign into with multi factor authentication, that keeps a repository of user data and the ability to approve or deny login and data request and respond accordingly. The third party applications securely communicates to a server that manages the interactions between applications. This user controlled identity provisioning alleviates the need for the author of the third party application to develop the authentication mechanism themselves.