How can a new iPhone know the names of people in my photos? I recently got a new iPhone. As a part of setting it up I synced my photos from my PC to the new iPhone (as I did with the old device). After that, I waited for the phone to run it's face recognition. What surprised me was that some people got named correctly by the new phone (I provided the names to the old phone). I thought face recognition only runs locally. Both phones have iCloud Photos, My Photo Stream and Shared Albums disabled (the new phone had it enabled by default, but I switched it off in advance of syncing the photos).
Edit: The old phone was the first iPhone SE, the new one's the second generation. Both are running the newest iOS versions.
I was under the impression face recognition feature respect the users (and more important the users friends) privacy and is not crowd sourced and only exists on my device.
How is this possible?
The name data comes down from iCloud document and key-value-store sync. Even if you don’t use iCloud to store photos, metadata about photos does sync by default. This is similar how to small settings sync between devices. Apple could handle it like screen time where you explicitly opt in or out of this per device, but as of Big Sur and iOS 14 there is no granular opt in or out for this.
Apple doesn’t generate the names, you do on your phone or the iPad / web / macOS version of photos app and then Apple remembers it in your encrypted data store. The “identities” are all machine generated and one “person” can match several machine “matches” in practice.
Until you tell your device to forget that name or that face, that label is attached to the “identity” in the synced data store attached to your iCloud storage bucket.