José Areche Blog · Lima, Perú
← Blog

Herramientas · Privacidad

Una foto privada puede viajar dentro de otra foto

26 oct 2026 · 8 min de lectura · Herramientas · José Areche

Ilustración: teléfono con foto de portada, candado shPd y símbolos de frase secreta, biometría y compartir

Hay fotos que no deberían quedar "en claro" en la galería ni en el chat: un documento, una evidencia, algo personal. La primera versión de ShadowPhoto nació de esa necesidad concreta: esconder una foto privada dentro de un PNG de portada, cifrarla bien y poder moverla sin depender de un servidor mío ni de una nube propia.

Es una app Android hecha con Kotlin y Jetpack Compose. No hay backend de ShadowPhoto. Lo privado vive en el archivo; la llave la tienes tú.

01 / QUÉ HACEPortada visible, original cifrado

El truco no es magia de steganografía invisible al azar: usamos un chunk privado de PNG llamado shPd. Quien abre el archivo con un visor normal ve la portada. Quien tiene ShadowPhoto (u otro cliente que entienda shPd) y la frase correcta puede recuperar el original.

El cifrado es Argon2id para derivar la clave a partir de la passphrase y AES-256-GCM para el contenido. Sin cuenta, sin subir nada a un servidor de ShadowPhoto.

02 / EL FLUJODe la cámara al sello

  1. Capturas o eliges la foto privada.
  2. Eliges una portada (el PNG que se ve).
  3. Defines una passphrase y sellas.
  4. La bóveda de la app muestra solo las portadas: el original no queda expuesto en la lista.
  5. Para verlo, desbloqueas con la frase (y biometría, cuando la configuras).
  6. Puedes exportar como PNG o como .shp.

Al ver el original, la app usa FLAG_SECURE: Android evita capturas de pantalla y la aparición en el selector de apps. No es un escudo absoluto contra todo hardware, pero sí una barrera sensata en el uso diario.

03 / COMPARTIRSin recomprimir el PNG

De poco sirve cifrar bien si el canal aplasta el archivo y se lleva el chunk. Por eso el compartir está pensado alrededor de eso:

Hoy, para descifrar hace falta la app (u otro cliente que entienda shPd). Quien recibe el PNG sin ShadowPhoto solo ve la portada.

04 / PROBARAPK de prueba (debug), no Play Store

Descarga de prueba: puedes instalar una APK debug de ShadowPhoto para probar en tu Android. No es la versión de Play Store ni una release firmada de producción. Paquete com.shadowphoto, Android 11+. Solo para pruebas. Hay que permitir instalación desde orígenes desconocidos; bajo tu propio riesgo. Descargar ShadowPhoto-debug.apk ↘

Si ya tienes una versión anterior instalada con otra firma, Android puede pedirte desinstalarla antes. Esta build es para validar el flujo (sellar, bóveda, desbloquear, compartir), no para depender de ella como producto final.

05 / QUÉ VIENEAlcance natural, sin promesas de tienda

Esta es la primera versión: personal, centrada en privacidad, en Android. El camino natural que veo a partir de aquí incluye:

Cuando haya una vía en Play Store (o una release firmada estable), lo cuento con el enlace correcto. Mientras tanto, la APK de arriba es solo para pruebas.

06 / INDUSTRIASDirecciones posibles, no el producto de hoy

La v1 está pensada para uso personal y privacidad cotidiana. Aun así, el mismo patrón —portada inocua + original cifrado + sin servidor— encaja como dirección en varios mundos, si algún día se endurece con políticas, auditoría y controles propios de cada sector:

Sería deshonesto venderlo hoy como solución hospitalaria o corporativa. Es una base técnica seria; el cumplimiento de cada industria es otro proyecto.

07 / CIERRELa privacidad empieza en el archivo

Me interesa la privacidad que no depende de "confía en mi nube". ShadowPhoto apuesta por eso: el secreto viaja en el PNG, la llave la tienes tú.

Si quieres probarlo ya, arriba está la APK debug. Y si quieres conversar sobre el enfoque (chunk privado, cifrado, compartir sin destruir el contenedor), escríbeme por el contacto de joseareche.com.

#ShadowPhoto#Privacidad#Android#Cifrado#PNG#Kotlin#Seguridad#Argon2#AES