The use of I am here!!® (the app) on the running iOS® device (the device) takes place thanks to the iCloud® account of the authenticated user at launch time (the user). The owner of the device takes on all the responsibilities for the information uploaded, collected and processed by the user. The owner of the device undertakes to prevent acts of negligence or bad faith in order to protect the data contained in the database.
This document describes the functionality of the app, the data storage, the permissions required by the app, the iMessage® extension and the data processing.
The purpose of the app is to update the user location on a timer basis.
The set of all data is called “Journey” that is the history of all the times the user updated his/her current location.
The user can launch the app Maps for each location updated.
There is one journey per device, so it takes the name by default (the device name is accessible in the Settings app: General/About/Name).
The user can share his/her journey with other people (the participants) to let them check the track. The user can also receive shared journeys by other people (the owners).
Once the journey has been shared, it is possible for the participants to join it and update their location to the group. Every participant will see it in the owner’s track.
The user can write something when updating the current location, can set a destination and set the timer’s interval for scheduling the notifications.
In order to update a new data, iOS will alert the users at the expiring of each interval.
To monitor missed journey updates, iOS can launch the app in the background and run it for a short time to verify the conditions and complete the task. A very small amount of data can be uploaded to iCloud.
To ensure this behaviour, the Background App Refresh service must be enabled (the preference is accessible in the Settings app: General/Background App Refresh).
The app has been designed for CloudKit® to work on all the user’s iOS devices and to allow users to share their journeys. According to Apple® documentation, CloudKit apps store data in iCloud®:
“CloudKit provides a way to store data as records in a database. It is a service for moving data to and from iCloud and sharing data between users of the app. Data is segregated and encapsulated in partitions called containers.”
Data is stored in a private database and belongs to the user: the app does not store any content into the public database, which contains just this document. Only the user’s private database is written and read to update and fetch user’s records.
“Each container has links to a public and private database for storing data. The contents of the public database are accessible to all the users of the app, whereas the contents of the private database are by default visible only to the current user. […] There’s a private database for each user of the app, but the app only has access to the private database of the current user. […] The private database is available only if the device has an active iCloud account. Access to the database is limited to the user of that iCloud account by default. The current user owns all content in the private database and is allowed to read and write that content. Data in the private database is not visible in the developer portal or to any other user. […]”
Data that resides in the private database is attributed to the user's personal storage quota on iCloud. Only the user can edit content on the private database.
“The data in a public database counts against the iCloud storage quota of the app. Data in the private database counts against the user’s iCloud storage quota.”
There is also a shared database, that is available only if the device has an active iCloud account. When the user shares the journey with other people, the permission given to each participant is Read Only. The participants can access the shared database to read the content of each shared journey:
“The shared database is available only if the device has an active iCloud account. Permissions on the database are limited to the user based on the permissions of the record that has been shared. The current user does not own the content in the shared database and is allowed to read that content only if the permission has been granted […]. Data in the shared database is not visible in the developer portal or to any user who has not been granted access. Data stored in the shared database does not count against the storage quota of the current user’s iCloud account.”
Only the user can add or remove participants and stop sharing the journey.
This app will request access to:
Location Services to get the current location every time the user is going to update the journey;
Notifications to receive alerts and to show the number of missed responses in the app’s icon
The app offers the iMessage extension that allows the user to update his/her journey within the Messages app and send the current location to the recipients of the message.
By using the app, the user accepts all the conditions above mentioned and becomes the only person responsible of the stored and shared data. There is no other data processing but the one provided by the app. There is no commercial or advertising purposes, the user's personal data are not disclosed, no registration or subscription is asked for newsletters or other service for marketing, research o analysis, therefore no authorization is required on the use of personal information. Any misuse or abuse of the user's personal data by other users or other persons, companies, organisations outside the context and functionality described in this document cannot be directly or indirectly attributed to the developer of the app, nor to the producer of the device or to the owner of the operating system copyrights.