# Trusted Agents ## Use Cases ### Owner gives control to another individual Bob is Alice's brother. Alice needs some assistance getting her life and finances organized, and asks Bob for help. Alice trusts Bob completely, and so she gives him the ability to help her manage all of her data, manage the applications and services authorized to use her data, and also manage who else can access that data. #### Trusted Agent authorizes an application service Finsync is an application service that synchronizes bank transactions from various banks into a pod. Bob authorization Finsync to store Alice's banking data from three of her banks into her pod. * An application registration is created in Alice's application regsitry * An access grant is created in Alice's access registry. #### Trusted Agent uses a piloted application to access Trustee's data Bob has been using an application called Finmanage to manage his own finances. Consequently, he decides it will be helpful to use to manage Alice's data as well. Bob uses Finmange to view and annotate the financial transactions stored in Alice's pod. #### Trusted Agent grants another agent access to registered data Bob gives Juan read access to Alice's financial records, because Juan is Alice's accountant. Juan is sent a notification from Bob on behalf of Alice that lets him know he has been given access. Juan updates his records so he remembers that Alice's financial data has been shared with him. Bob keeps a record of the decision in Alice's pod so that she has a record of it. #### Trusted Agents makes another agent a Trusted Agent TBD #### Trusted Agent removes another agent's access to registered data Bob removes Deborah's access to Alice's mortgage records, as Deborah is no longer Alice's mortgage broker. Deborah receipts a notification from Bob on behalf of Alice letting her know that she no longer has access to this data, and updates her remote data registry accordingly. ## Owner is an Organization ### Organization appoints Trusted Agents as administrators Similar use cases as above... ## Owner gives control to another application ### Application provides a direct service Alice uses her pod extensively, exchanging data and information with a number of services, applications, and people. To help ensure the integrity of her data, and repair potential issues across her pods and registries, she trusts an application called PodMedic to help ensure her pod and data are in good working order, and are safe. PodMedic doesn't interface with other people or applications, but it has full access to all of her registries and data. NOTE: Will need to record necessary information into the Application Registration (i.e. Access Receipt) ### Application is used to register other applications Alice wants to use a new project management application called Podject. Podject first needs to be registered in Alice's application registry. Podject looks up the service that Alice's trusts for Application Registration, and forwards Alice there to complete the registration. ### Application is used to grant other Agents and Applications access to data After registering Podject, it needs access to projects, tasks, and milestones in Alice's pod. ### Application processes access receipts from other Agents ### Application helps to manage access invitations to other Agents ## Questions * What is the logic to determine where a Trusted Agent registers applications when managing the Trustee's data? * Should it be possible for a "group" to be a Trusted Agent? * Can Bob's trusted agent act on behalf of Bob for Alice? ## Notes - Agents are stored in an Agent Registry - marks who i trust and who trusts me