Remove location EXIF data from uploaded photos

Hi guys,
Just found out the hard way that uploaded photos will retain any location (ie. GPS Lat/Lon) data stored in the image’s EXIF (in fact, the whole EXIF is retained, including device, f-stop, white balance, ISO etc data). While I understand there’d be a bit of work involved in stripping any EXIF data out, the removal of at least the location data would be a privacy concern of many users (both current and potential), especially if it’s expected they may be uploading from a mobile device (which they more than likely took said photo on) - while someone might feel comfortable having their home town in their profile, having the GPS coordinates of their house publicly available is likely another story.

5 лайков

That’s a sensible idea, but at the same time I think Discourse shouldn’t be modifying users’ uploaded files unless the user explicitly told it to do so.

This could be an option in the “Add image or file” dialog, however; a “strip private metadata” checkbox, for instance. When images are uploaded via drag&drop and contain problematic EXIF headers, a warning message in the composer should be enough.

2 лайка

I know twitter strips the EXIF headers. And I’m not totally sure how Wordpress does it, but I think if the image is resized the EXIF headers are stripped. I doubt 500px strips any of the headers, but they are more of a photo centric application.

I personally think the private information should be removed but I think we should also look and see what other apps are doing and learn from them.

Would definitely accept a community PR in this area!

Add a checkbox, checked by default, labelled “remove EXIF data”.

2 лайка

You mean you’d put this in as a standard option? I think this is definately plugin territory. Or at least have the ability to turn it off.

Safe by default is what we try to deliver and I think stripping exif data is safer by default. Helps with rotated by metadata images as well, which @zogstrip already completed, right @zogstrip?

9 лайков

Since EXIF data also contains copyright information which can be used to help fight copyright violations, I think it’s a really, really bad idea to strip it - regardless of the fact that Twitter and Pinterest do it.

Removing copyright information might even be illegal in some countries.

(b) Removal or Alteration of Copyright Management Information. — No person shall, without the authority of the copyright owner or the law —

(1) intentionally remove or alter any copyright management information,

I don’t see anything bad about stripping EXIF location, you don’t need to touch copyright

8 лайков

Yes I did.

1 лайк

Looks like the action is here?

def self.fix_image_orientation(path)
  `convert #{path} -auto-orient #{path}`
end

Maybe someone can extend that into a PR to remove EXIF location information.

Unfortunately, after a quick lookup, Image Magick only support stripping all the EXIF information. We’ll need either a new gem or a new tool to deal with that issue properly.

Personally I think that’s fine. If it’s good enough for Pinterest and Twitter, it’s certainly good enough for us.

5 лайков

Я не думаю, что Discourse должен удалять любые EXIF-данные, по крайней мере не по умолчанию. В любом случае, следует предоставить возможность удаления их как глобальной опции, так и опции для пользователя (возможно, в виде плагина?).

Пользователи, которые не хотят, чтобы какие-либо EXIF-данные передавались в социальные сети, должны удалять их при экспорте изображений в формат JPEG.

Как администратор форума для фотографов, EXIF-данные изображений важны для наших пользователей.

3 лайка

Возможно, для вас решением будет ссылаться на фотографии в Flickr вместо их загрузки?

Нисколько… Мы хотим, чтобы фотографии, загружаемые на наш сайт, соблюдали лицензионное соглашение, и мы создали форум, потому что нам не нравятся Flickr или Facebook, где вы получаете только лайки, а не комментарии.

Мы создали сообщество, чтобы получать мнения о наших фотографиях, и эти фотографии должны оставаться в сообществе.

Если вы заботитесь о своей конфиденциальности или чувствительных данных в своих фотографиях, просто не сохраняйте их в изображении при его экспорте.

2 лайка

Интересно. Я думал, что Flickr — самое уважительное онлайн-место для хранения и обмена фотографиями, совсем не похожее на Facebook. Но я уже давно не пользовался ни тем, ни другим. Лично я храню свои фотографии офлайн и на сервере Nextcloud, а иногда делюсь фотографиями на форуме Discourse.

Похоже, вам нужен плагин, который делает удаление данных EXIF необязательным. Вы можете запросить его в канале Marketplace.

Наиболее уважительным вариантом может быть 1x, 500 пикселей, и Flickr тоже уважителен, но он не бесплатен, и мы не можем полагаться на то, что Flickr, 500px или другие сочтут наши потребности.

Вы не понимаете нашей точки зрения (возможно, я объяснил это не очень хорошо, извините за мой английский): мы — сообщество фотографов, которые делятся своими фотографиями, чтобы получать отзывы от других.
Мы не используем Discourse как место для размещения всех или большинства наших фотографий.

Информация EXIF иногда полезна для высказывания мнения.

НЕТ, мне не нужен плагин. Тот, кто просит изменить поведение Discourse, и есть тот, кому он нужен.

Discourse в настоящее время предоставляет данные EXIF и не удаляет их из файла.

Наличие опции для выбора: удалять ли данные EXIF глобально или на уровне предпочтений пользователя, — хорошее решение.

Это, конечно, можно реализовать в виде плагина.

2 лайка

Можно также добавить простой флажок при загрузке файла — это была бы замечательная функция.

Часто я фотографирую детали или товары на продажу с помощью телефона и загружаю их на наш форум, после чего раскрывается моё местоположение :man_facepalming:

Наш форум также очень насыщен изображениями, поэтому согласен, что сохранение EXIF-данных для нас действительно полезно.

В большинстве случаев :blush:

1 лайк

Да, возможность удаления некоторых EXIF-данных была бы отличным решением.

Однако для этого необходимо внедрить в систему полноценное управление метаданными EXIF.

Я считаю, что наилучшим вариантом будет:

Установить глобальный параметр с тремя опциями:

  • Сохранять все EXIF-данные (включено по умолчанию, чтобы не нарушить работу текущих установок).
  • Удалять EXIF-данные из загружаемых изображений.
  • Позволить пользователю выбрать, удалять ли EXIF-данные.

Если выбран третий вариант на глобальном уровне, у пользователей должна быть возможность настроить личное предпочтение:

  • Сохранять все EXIF-данные (включено по умолчанию, чтобы не нарушить работу текущих установок).
  • Удалять EXIF-данные из загружаемых изображений.

При загрузке изображения система также может предлагать опцию удаления данных изображения для каждого файла отдельно (даже если выбрано сохранение).
Вы можете добавить эту опцию в диалоговое окно загрузки изображений.

В идеале, если кто-то выбирает удаление данных, он должен иметь возможность выбрать:

  • Удалить только GPS-данные и данные о местоположении.
  • Сохранить только базовые данные (модель камеры и объектива, параметры съемки).
  • Удалить все данные изображения.
6 лайков