
Oppfølging-funksjonen og sikkerhet
Med Oppfølging kan en bruker velge en kontakt som blir varslet hvis brukerens støttede enhet ikke kommer frem til et forhåndsdefinert bestemmelsessted. Når brukeren velger en kontakt å starte Oppfølging med, sendes en iMessage-melding til kontakten, med informasjon om økten, inkludert bestemmelsesstedet. Enheten til brukeren som initierer, genererer også et tilgangskjennetegn og en krypteringsnøkkel for Oppfølging. Krypteringsnøkkelen for Oppfølging sendes i en annen iMessage-melding, men denne meldingen arkiveres av iMessage-tjenere i stedet for å leveres umiddelbart. Siden denne meldingen er gjennomgående kryptert mellom brukeren og den valgte kontakten, er ikke innholdet i den tilgjengelig for Apple.
Når enheten til brukeren som initierer, er på vei mot bestemmelsesstedet, sender den periodisk en hjerteslagmelding til iMessage-tjenere for å forlenge utløpstiden før meldingen med krypteringsnøkkelen for Oppfølging leveres. Hvis enheten slås av eller mister forbindelsen, vil iMessage-tjenere automatisk frigjøre iMessage-meldingen med krypteringsnøkkelen til kontakten når utløpstiden er nådd. Krypteringsnøkkelmeldingen for Oppfølging kan også frigjøres hvis enheten ikke nærmer seg bestemmelsesstedet. Når den frigjøres på denne måten, inkluderes tilgangskjennetegnet.
Under en Oppfølging-økt vil enheten til brukeren som initierer, periodisk samle inn relevante Oppfølging-data (for eksempel posisjon og batterinivå), kryptere de med Oppfølging-nøkkelen og laste dem opp til iCloud. Apple har ikke tilgang til Oppfølging-nøkkelen eller dataene som lastes opp.
Det kreves brukerautentisering for å avslutte en Oppfølging-økt. Hvis brukeren avbryter en økt, blir de krypterte dataene og iMessage-meldingen med krypteringsnøkkelen for Oppfølging trygt slettet fra tjeneren.
Hvis Oppfølging-enheten ikke har kommet frem til bestemmelsesstedet som forventet, eller hvis den konfigurerte tidtakeren utløper, får den valgte kontakten iMessage-meldingen med krypteringsnøkkelen for Oppfølging. Det finnes to scenarioer der dette kan skje:
Hvis forbindelsen mistes: I dette tilfellet har ikke den valgte kontakten tilgangskjennetegnet, og kontaktens enhet gjennomfører en ekstra kontroll for å finne ut om det har gått nok tid siden forrige hjerteslag. Kontaktens enhet ber om de krypterte Oppfølging-dataene fra tjeneren, og tjeneren utfører en tredje kontroll for å finne ut om det har gått tilstrekkelig tid siden forrige hjerteslag. Hvis det har det, gir tjeneren kontakten de krypterte Oppfølging-dataene, og kontakten kan dekryptere dem ved hjelp av Oppfølging-nøkkelen.
Hvis brukerens enhet finner ut at den ikke nærmer seg bestemmelsesstedet: Hvis ikke brukeren avbryter eller forlenger Oppfølging-økten når vedkommende blir bedt om det, vil den valgte kontakten få både tilgangskjennetegnet og krypteringsnøkkelen for Oppfølging. Kontaktens enhet gir tjeneren tilgangskjennetegnet, slik at den kan laste ned de krypterte Oppfølging-dataene. Deretter kan dataene dekrypteres med Oppfølging-nøkkelen.