Currently the 'contacts' policy group is reserved because giving access to the address-book-app's DBus API allows applications to all contacts without user consent. If 'contacts' are going to be made generally available to untrusted appstore apps, the address-book-app service needs to be modified to use trust-store, like location-service does. Integrating with trust-store means that when an app tries to connect to the address-book-app over DBus, address-book-app will contact trust-store, the trust-store will prompt the user ("Foo wants to access your contacts. Is this ok? Yes|No"), optionally cache the result and return the result to address-book-app. In this manner the user is given a contextual prompt at the time of access by the app. Using caching this decision can be remembered the next time.
Currently the 'contacts' policy group is reserved because giving access to the address-book-app's DBus API allows applications to all contacts without user consent. If 'contacts' are going to be made generally available to untrusted appstore apps, the address-book-app service needs to be modified to use trust-store, like location-service does. Integrating with trust-store means that when an app tries to connect to the address-book-app over DBus, address-book-app will contact trust-store, the trust-store will prompt the user ("Foo wants to access your contacts. Is this ok? Yes|No"), optionally cache the result and return the result to address-book-app. In this manner the user is given a contextual prompt at the time of access by the app. Using caching this decision can be remembered the next time.