What a photo knows about itself.
Every photo file carries a second document alongside the picture. Here is what is in it and who put it there.
The camera writes first
At the moment of capture a camera records the settings it used and the conditions it saw: model and lens, shutter speed, aperture, ISO, focal length, white balance, orientation and the time. If location is switched on, coordinates go in too, often with an altitude. Phones add a vendor block of their own — undocumented, and holding things like a burst identifier or scene-classification hints. None of this is optional or visible while you shoot; it is written because the format has fields for it.
Then everything that touches the file adds to it
An editor stamps its name and version. A publishing tool writes a caption, a credit and usage terms. An export step may write a colour profile so the file renders consistently. Each of these uses whichever standard it prefers, and they do not coordinate — which is how a photo ends up asserting one description in one place and a different one somewhere else.
Three standards, one picture
EXIF came from camera makers and describes the capture. IPTC came from news wires and describes the assignment: caption, byline, credit. XMP is Adobe's container and describes the editing, often mirroring parts of the other two. An ICC profile is not a description at all — it tells software how to turn the file's numbers into colour. A photo that has been through a newsroom routinely carries all four.
Whether it survives depends on the road it takes
Large social platforms usually re-encode an upload, and metadata is commonly dropped in the process. Chat apps, email attachments and cloud folders generally pass the file through unchanged, which means the file your friend receives is byte for byte the one your camera wrote. Assume nothing either way: the only reliable check is to open the file you actually sent and look.
See it for a file of your own
Reading is the whole first step. Open a photo and you get every group a parser recognises, with its tags — and the file is read in the page, so it never leaves your machine.