S3 offers privacy protections with the ability to require an expiring token in the URL. The theory is the web site should authenticate a user, and only generate a valid token for that user (for a fuzzy definition of "that" user) that works only for a limited time.
S3 hosting of private images was a terrible idea. It doesn't provide any kind of protection.