If it’s prefetched, it doesn’t matter that you reveal that it’s been “opened,” as that doesn’t reveal anything about the recipient’s behavior, other than that the email was processed by the email server.
Personally speaking, I’ve never been a fan of this method because to the hosting web server it was still fetched. That might confirm that an email address exists or (mistakenly) confirm that the user did in fact follow the link (or load the resource).
I have ad and tracking blocked like crazy (using DNS) so I can’t follow most links in emails anyway. External assets aren’t loaded either, but this method basically circumvents that (which I hate).
If by prefetch you mean the server grabs the images ahead of time vs the client, this does not happen, at least on amy major modern platform that I know of. They will cache once a client has opened, but unique URLs per recipient are how they track the open rates.
Apple’s Mail Privacy Protection does this. See https://www.reddit.com/r/privacy/comments/pt9ycv/apples_mail_privacy_protection/ for a post from three years ago talking about it.
I don’t know if any other major providers take this approach but Apple / iCloud is definitely one of them.
But the path changes with every new data element. It’s never the same, so every “prefetch” is a whole new image in the system’s eyes.
Even with a unique link, if the behavior is that as soon as the email server receives it, it’s prefetched, what does that reveal about the user?
Server or client, every supposed prefetch would be unique. If I trick an LLM client into grabbing:
site.com/random-words-of-data/image.gif
Then:
site.com/more-random-data/image.gif
Those are two separate images to the cache engine. As the data refreshes, the URL changes, forcing a new grab each time.
For email, marketers do this by using a unique image URL for every recipient.