DEV Community

 AppInitDev
AppInitDev

Posted on

Fotos y privacidad: cómo generar una copia sin EXIF antes de compartir

Fotos y privacidad: cómo generar una copia sin EXIF antes de compartir

Una fotografía puede revelar más que su contenido visual. La información EXIF puede contener la hora, el dispositivo y, en algunos casos, coordenadas GPS. Compartir una imagen no debería implicar compartir metadatos por accidente.

El problema y el alcance del ejemplo

La ficha de Gallery: Álbum de Fotos Seguro resume su función así: «Galería de fotos con caja fuerte privada para álbumes, imágenes y vídeos.» Gallery presenta una galería con opciones de privacidad y eliminación de EXIF en su ficha pública. Este laboratorio explica la idea de crear una copia nueva sin reutilizar los metadatos del original. No supone que la app utilice Pillow ni este procedimiento.

Cómo reproducir la idea

Instala Pillow con python -m pip install Pillow. Coloca una fotografía de prueba llamada origen.jpg junto al script. Utiliza un archivo de prueba, no una foto sensible.

from PIL import Image, ImageOps

with Image.open('origen.jpg') as foto:
    # Aplica la orientación EXIF a los píxeles antes de retirarla.
    orientada = ImageOps.exif_transpose(foto).convert('RGB')
    # Lienzo nuevo: no copiamos el diccionario EXIF del origen.
    salida = Image.new('RGB', orientada.size)
    salida.paste(orientada)
    salida.save('para_compartir.png', format='PNG')

with Image.open('para_compartir.png') as verificacion:
    print('EXIF de salida:', verificacion.getexif())
Enter fullscreen mode Exit fullscreen mode

Qué demuestra el código

La copia se reconstruye a partir de píxeles sin pasar exif= a save. Usamos PNG por simplicidad y para evitar pérdida adicional por JPEG. La rotación se aplica antes porque, de otro modo, una foto tomada en vertical podría aparecer girada.

Pruebas recomendadas

Inspecciona ambos archivos con un visor de metadatos y comprueba si la copia tiene coordenadas. Observa también el tamaño final: PNG puede ser considerablemente más grande que JPEG para fotografías.

Límites que conviene reconocer

Eliminar EXIF no anonimiza el contenido visual: rostros, matrículas, reflejos o información dibujada en la imagen permanecen visibles. El ejemplo convierte a RGB, por lo que no conserva transparencia ni todos los perfiles de color.

Qué aprendemos

La privacidad de una galería depende tanto de permisos y almacenamiento como del contenido que se entrega al compartir.

Contexto y enlaces del autor

El tema se relaciona con las funciones declaradas públicamente de Gallery: Álbum de Fotos Seguro, una aplicación Android de AppInitDev. El código anterior es un ejemplo independiente: no se ha inspeccionado el repositorio privado ni se afirma que sea la implementación interna de la app. La referencia aparece al final para ofrecer contexto, no como requisito para completar el tutorial.

Image APPS

Referencia técnica

Pillow: ExifTranspose

Top comments (0)