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())
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.
- Google Play: Gallery: Álbum de Fotos Seguro
- Página de la aplicación: https://gallery.appinitdev.com/
- Sitio del desarrollador: AppInitDev

Top comments (0)