Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 Feature: Automatically strip exif data on upload #5950

Open
2 tasks done
d4rckh opened this issue Aug 7, 2023 · 4 comments
Open
2 tasks done

🚀 Feature: Automatically strip exif data on upload #5950

d4rckh opened this issue Aug 7, 2023 · 4 comments
Assignees
Labels
backlog Issues waiting in the backlog enhancement New feature or request product / storage Fixes and upgrades for the Appwrite Storage.

Comments

@d4rckh
Copy link

d4rckh commented Aug 7, 2023

🔖 Feature description

When an image is uploaded to a bucket, the server will automatically strip exif data on images, similarly to how they get compressed. A toggle would be added (perhaps under compression) that enabled would remove the sensitive information embedded in images (location, model, camera specs, etc).

🎤 Pitch

This is a highly important feature for every app in which images get uploaded (avatars, chat, posts, etc.). Any platform that accepts images does strip exif info to protect its users from accidentally leaking sensitive info.

👀 Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

@stnguyen90 stnguyen90 added the product / storage Fixes and upgrades for the Appwrite Storage. label Aug 7, 2023
@stnguyen90
Copy link
Contributor

@d4rckh, thanks for raising this request! 🙏🏼 For now, I would recommend:

  1. Create an upload bucket
  2. Create a function that processes uploads on that bucket
  3. Save the file in another bucket that your app would read

The function can be useful to do any sort of post-processing of the file including resizing to reduce the file size.

For an example, check out Building a Location-Based App with Appwrite.

@d4rckh
Copy link
Author

d4rckh commented Aug 7, 2023

@d4rckh, thanks for raising this request! 🙏🏼 For now, I would recommend:

  1. Create an upload bucket
  2. Create a function that processes uploads on that bucket
  3. Save the file in another bucket that your app would read

The function can be useful to do any sort of post-processing of the file including resizing to reduce the file size.

For an example, check out Building a Location-Based App with Appwrite.

Thanks for the suggestion! Hopefully it will also be added into appwrite :)

@joeyouss joeyouss self-assigned this Aug 8, 2023
@eldadfux
Copy link
Member

I wonder if we should force this check for every image being uploaded or enable this as a feature that can be turned on and off. Would love to hear feedback and learn more about use cases where exif data is crucial for the application.

@eldadfux eldadfux added the backlog Issues waiting in the backlog label Aug 26, 2023
@abnegate
Copy link
Contributor

I wonder if we should force this check for every image being uploaded or enable this as a feature that can be turned on and off. Would love to hear feedback and learn more about use cases where exif data is crucial for the application.

@eldadfux In my opinion this would be good as a toggle. EXIF data could be crucial if your app needs the GPS coordinates, like displaying where photos were taken on a map.

It's possible to unset specific parts of EXIF data too, so if enabled, we can remove sensitive data but keep information crucial to displaying the image correctly like rotation/contrast/saturation etc.

@joeyouss joeyouss removed their assignment Sep 12, 2023
@stnguyen90 stnguyen90 added enhancement New feature or request and removed feature labels Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Issues waiting in the backlog enhancement New feature or request product / storage Fixes and upgrades for the Appwrite Storage.
Projects
None yet
Development

No branches or pull requests

5 participants