English

CamPhone

Política de privacidad

Resumen: CamPhone convierte un móvil en cámara y otro en visor, enlazados con un código. El vídeo y el sonido van directos de un móvil a otro, cifrados, y no se guardan en ningún servidor. Las grabaciones se quedan en el móvil de la cámara y las borras tú desde la app. Con la vigilancia por movimiento activada, la cámara detecta movimiento dentro del propio dispositivo, graba un clip en él y, si el visor lo ha pedido, le avisa con una notificación. Ninguna imagen se envía a un servidor para analizarla, y los clips no salen de la cámara salvo que un visor los vea desde ella. En iPhone y iPad con LiDAR puedes activar además la detección con el sensor de profundidad (viene apagada), y «Descartar mascotas» usa el framework Vision de Apple para distinguir personas de perros y gatos: ambas cosas se hacen en el propio móvil, sin servidores, y ni las imágenes ni los mapas de profundidad se guardan ni se envían. No hay cuentas ni registro. Los anuncios de Google solo se personalizan si das tu consentimiento, y la analítica de uso (sin identificador publicitario) solo se activa si lo aceptas en el formulario de Google.

Quién es el responsable

Gabriel Micó Victoria, desarrollador de CamPhone. Para cualquier duda sobre los datos, o para ejercer tus derechos, escribe a gabrielmicovictoria@gmail.com.

Uso responsable: avisa a quien aparezca

CamPhone está pensada para vigilar tu casa, tu negocio o a tus mascotas, con conocimiento de las personas que puedan aparecer en la imagen. No es para grabar a nadie sin que lo sepa, ni para espiar a otra persona, ni para grabar donde haya una expectativa razonable de intimidad (baños, dormitorios ajenos, vestuarios…).

La cámara muestra su estado en pantalla («Vigilando», «Grabando movimiento», «Vigilancia desactivada…», «Emitiendo al visor», «Grabando») junto a un aviso fijo de uso responsable; tras unos segundos sin tocarla la pantalla baja el brillo, pero nunca se apaga. Con la vigilancia activada la cámara del dispositivo está encendida y iOS muestra su indicador de uso; también cuando vigila el LiDAR, porque ARKit, el marco de Apple que da acceso a ese sensor, usa la cámara del sistema (CamPhone no graba ni emite esa imagen). El micrófono no se abre para vigilar: solo se usa al grabar o cuando un visor mira en directo. Se puede desactivar la vigilancia en la propia cámara o desde el visor; entonces el sensor queda cerrado y solo se abre cuando un visor se conecta o se graba a mano. Quien instala y usa la cámara es el responsable de cumplir la ley de su país (avisar con un cartel o de palabra, respetar a vecinos, empleados y visitantes, y no grabar en la vía pública más de lo que permita la ley).

Cómo funciona y qué sale de tu móvil

Un móvil se pone en modo cámara y muestra un código de enlace de 10 letras y números. En el otro móvil, en modo visor, se escribe ese código. Con él los dos móviles se encuentran y se conectan entre sí. El código es lo único que protege la cámara: quien lo conozca puede conectarse como visor (solo uno a la vez), así que no lo compartas con quien no deba ver tu cámara. Con «Cambiar código» en la cámara se genera uno nuevo y el visor actual queda fuera al momento.

ServicioPara quéQué recibe
Supabase (Realtime, servidores de la Unión Europea, Fráncfort)Hace de «casamentero»: deja que la cámara y el visor se encuentren y se pasen los mensajes para conectarse y las órdenes de activar o desactivar la vigilancia, la detección con LiDAR y «Descartar mascotas». Realtime no guarda nada; la única tabla de CamPhone es la de los avisos (fila siguiente).Un nombre de canal que es una huella (hash) del código, no el código; si la cámara está en línea (presencia); el estado de la cámara (vigilando sí/no, grabando sí/no, hora y duración del último clip), las órdenes de activar o desactivar la vigilancia, el LiDAR y «Descartar mascotas», y, si la cámara tiene esas funciones, si están activadas, la situación del LiDAR (por ejemplo «vigilando» o «en pausa porque el móvil está caliente») y cuántos movimientos de mascota se han descartado hoy, sin imágenes ni mapas de profundidad; y mensajes de conexión efímeros: un identificador aleatorio del visor y los datos técnicos de WebRTC, que incluyen las direcciones de red de los móviles. No se guarda nada de eso; solo los registros técnicos habituales de cualquier servidor (como la dirección IP de la conexión).
Supabase (función de avisos y su tabla, región de la UE: Fráncfort, eu-central-1)Solo si activas «Avisarme cuando la cámara grabe»: guardar qué visores piden avisos y enviárselos.Por cada visor que activa el aviso: el identificador de notificaciones (token de Apple), el idioma de la app, una huella (hash) del canal —nunca el código de enlace— y la fecha del último aviso. Cuando la cámara guarda un clip: la huella, la hora y la duración del clip. Ninguna imagen ni vídeo.
Apple Push Notification service (APNs)Entregar el aviso al visor.El token de notificaciones del visor y el texto del aviso (título y texto, sin imagen ni vídeo).
Servidores STUN de Google y CloudflareAyudan a cada móvil a descubrir su propia dirección de red para poder conectarse.La dirección IP del móvil. No ven el vídeo ni el sonido.
Cloudflare (relé TURN)Solo cuando la red no deja la conexión directa entre los dos móviles (4G con CGNAT, wifis de empresa…): reenvía los paquetes de un móvil al otro.Paquetes cifrados con DTLS-SRTP, el cifrado estándar de WebRTC, que no puede leer, las direcciones IP y el volumen de tráfico. Las credenciales son temporales (1 hora) y las reparte una función de Supabase; el token de Cloudflare nunca va en la app.
Google AdMobAnuncios (ver más abajo).Datos técnicos del móvil y, solo si lo aceptas, el identificador publicitario.
RevenueCatComprobar la compra «Sin banner».Un identificador anónimo y el estado de la compra.
Google Analytics para FirebaseEstadísticas de uso (ver «Analítica de uso»).Eventos de uso sin datos personales, solo con tu consentimiento.

El vídeo y el sonido no se guardan en ningún servidor

Vigilancia por movimiento

Cuando la vigilancia está activada (lo está de serie en el modo cámara), CamPhone compara de forma continua versiones reducidas y en gris de la imagen de la cámara para saber si algo se mueve. La comparación se hace en la memoria del propio dispositivo de la cámara: esas imágenes reducidas no se guardan, no se envían a ningún servidor y no se comparten; solo se conserva el resultado «hay movimiento / ya no». Cuando hay movimiento, la cámara graba un clip (con sonido) en su biblioteca —la misma de las demás grabaciones, con tope de 6 GB— y, cuando el movimiento cesa, deja de grabar y sigue vigilando. Los clips se guardan solo en el dispositivo de la cámara. Esta comparación de imágenes no identifica personas ni objetos; para eso existe «Descartar mascotas» (más abajo), que es opcional. La sensibilidad (baja, media, alta) se elige en la pantalla de la cámara.

El visor puede activar o desactivar la vigilancia desde su pantalla: la orden y el estado de la cámara (vigilando sí/no, grabando sí/no, hora y duración del último clip) viajan por el canal de conexión (Supabase Realtime) y no llevan imágenes.

Detección con LiDAR (opcional, apagada de serie)

En los iPhone y iPad que tienen sensor LiDAR, la pantalla de la cámara muestra el interruptor «Detección con LiDAR» (donde no hay sensor, no aparece). Está apagado de serie. Si lo activas y la vigilancia está armada, con la cámara trasera y sin ningún visor mirando, CamPhone vigila con el sensor en lugar de comparar imágenes: lee mapas de profundidad (una rejilla reducida de distancias en centímetros; una medida por segundo de base, y puedes elegir hasta cuatro) y mira si algo cambia de distancia dentro del alcance que elijas (2, 3,5 o 5 m). Los mapas de profundidad se analizan en la memoria del propio móvil: no se guardan, no se envían a ningún servidor y no se comparten; solo se conserva el resultado «hay movimiento / ya no».

Mientras vigila el LiDAR, la cámara normal de la app (la que graba y emite) está apagada, pero iOS sigue mostrando su indicador de cámara porque ARKit usa la cámara del sistema para situarse; CamPhone no graba ni emite esa imagen. Al detectar movimiento, o si un visor se conecta, se enciende la cámara normal y se graba el clip como siempre (empieza un momento después del movimiento); al terminar vuelve el LiDAR. Si el móvil se calienta, el LiDAR baja el ritmo o se pausa y vigila la cámara normal hasta que se enfríe. El sensor sigue encendido entre una medida y otra, así que bajar las medidas por segundo apenas cambia el consumo.

Descartar mascotas (reconocimiento con Vision)

«Descartar mascotas» viene encendido de serie en iPhone y iPad, y se apaga en la pantalla de la cámara o desde el visor. Cuando la cámara detecta movimiento, CamPhone pasa algunas imágenes por Vision, el framework de reconocimiento de imágenes de Apple, que busca personas, perros y gatos. Si reconoce un perro o un gato y en ningún momento aparece una persona, el movimiento se descarta: no se guarda ningún clip (si la cámara ya había empezado a grabar, el clip se borra al terminar) y no se avisa al visor (si está viendo en directo, ve el mensaje «Solo se veía una mascota»). Si aparece una persona, o no está claro qué es, se graba y se avisa como siempre. Con LiDAR, si lo que se mueve es más alto que un perro o un gato, tampoco se descarta.

El reconocimiento se hace en el propio móvil, con Vision, sin servidores: las imágenes se analizan en la memoria, no se guardan y no se envían a ningún servidor. Solo se conserva el resultado (si había persona, perro o gato). Vision no reconoce caras ni identifica a nadie: solo cuenta si hay una persona, un perro o un gato. Lo único que se guarda en el móvil es un contador de movimientos descartados del día (la fecha, el número y la hora del último); la cámara lo enseña en su pantalla y, si el visor lo tiene conectado, lo ve también.

Avisos al visor

Los avisos son opcionales y vienen apagados: en el visor, el interruptor «Avisarme cuando la cámara grabe» pide permiso a iOS. Si lo concedes, iOS genera un identificador de notificaciones (token) de ese dispositivo y CamPhone lo guarda en un servicio nuestro (una función de Supabase y una tabla, en un proyecto de la región de la UE: Fráncfort, eu-central-1) junto con una huella (hash) del canal —nunca el código de enlace—, el idioma de la app y la fecha del último aviso. Cuando la cámara guarda un clip, avisa a ese servicio con la huella, la hora y la duración del clip, y el servicio pide a Apple (servicio de notificaciones push, APNs) que entregue al visor un aviso con título y texto («CamPhone: movimiento detectado — La cámara ha grabado un clip de N s.»). El aviso no lleva imagen ni vídeo ni el código.

Como mucho se envía un aviso cada 30 segundos por cámara y se guardan hasta 3 visores por cámara (se olvidan los menos recientes). El token se borra del servicio cuando apagas el interruptor, cuando cambias de cámara en el visor o cuando Apple informa de que ya no es válido. El token no se usa para publicidad ni para identificarte. Puedes dejar de recibir avisos apagando el interruptor o en Ajustes de iOS → Notificaciones → CamPhone.

Grabaciones: viven en el móvil de la cámara

Sin cuentas ni registro

CamPhone no tiene cuentas, usuarios, correos ni contraseñas, y no pide nombre, teléfono, ubicación ni contactos, y solo toca tus fotos si tú exportas una grabación a la galería. En el propio móvil se guardan solo: el idioma elegido, el código de la cámara (en la cámara) o el último código usado (en el visor, para reconectar), si la cámara estaba encendida, si la vigilancia está activada o desactivada y su sensibilidad (en la cámara), si la detección con LiDAR y «Descartar mascotas» están activadas, el ritmo y el alcance del LiDAR y el contador de movimientos de mascota descartados (en la cámara), si los avisos están activados y su token (en el visor), qué cámara del móvil usa, un identificador aleatorio del visor y el índice de las grabaciones. Se borra al desinstalar la app.

Permisos del móvil

Anuncios

La app es gratuita y muestra anuncios de Google AdMob: un banner en la pantalla de inicio, en el visor y en la cámara, y un anuncio a pantalla completa en el visor al parar una grabación, mientras la cámara guarda el vídeo (precedido de un aviso y como mucho uno cada 90 segundos).

Consentimiento. Antes de pedir ningún anuncio, la app muestra el formulario de consentimiento de Google (donde la ley lo exige: Espacio Económico Europeo, Reino Unido y Suiza) y, en iPhone y iPad, pide además el permiso de rastreo de Apple (ATT). Si das tu consentimiento, Google puede mostrar anuncios personalizados y usar el identificador publicitario del dispositivo (IDFA en iPhone y iPad), junto con datos técnicos como la dirección IP y el modelo del móvil, según la política de Google. Si no lo das, los anuncios que se muestren no estarán personalizados; si no hay consentimiento válido donde es obligatorio, la app no pide anuncios. Google no recibe nada del vídeo, del sonido ni de las grabaciones.

Puedes cambiar tu elección cuando quieras: en iPhone y iPad, en Ajustes → Privacidad y seguridad → Rastreo; y, en Europa, en CamPhone → Ajustes → «Privacidad de los anuncios».

Compra «Sin banner»

La compra única «Sin banner» (1,99 €, sin suscripción) quita el banner del visor y de la pantalla de inicio. No quita el banner de la cámara ni el anuncio a pantalla completa que sale al parar una grabación en el visor. El pago lo gestiona la tienda de aplicaciones con tu cuenta de la tienda; nosotros nunca vemos datos de pago. RevenueCat comprueba la compra con la tienda; para ello usa un identificador anónimo de la instalación, sin nombre ni correo, y conoce el estado de la compra. Hay un botón «Restaurar compras» en la pantalla de la compra. Si has dado el consentimiento de analítica, RevenueCat recibe también el identificador de instalación de Google Analytics, para que las compras salgan en las mismas estadísticas.

Analítica de uso

CamPhone usa Google Analytics para Firebase en iPhone y iPad para saber cuánta gente usa la app y cómo, y así mejorarla. No está disponible en otras plataformas.

Consentimiento y control. Al arrancar, la analítica está desactivada. En el Espacio Económico Europeo, el Reino Unido y Suiza solo se activa si aceptas el almacenamiento de datos en tu dispositivo en el formulario de consentimiento de Google (el mismo de los anuncios), y si lo rechazas no se recoge ningún dato de uso. Fuera de esa zona, donde no se exige consentimiento previo, se activa sin formulario. Puedes cambiar tu elección en Ajustes → «Privacidad de los anuncios» (donde aparece) o pedir que se deje de usar escribiendo a gabrielmicovictoria@gmail.com.

Cuánto tiempo se guardan los datos

Menores

CamPhone no está dirigida a niños y no recoge conscientemente datos de menores. Si crees que un menor ha facilitado datos, escríbenos a gabrielmicovictoria@gmail.com y los borraremos.

Tus derechos

Puedes pedir en cualquier momento acceso, rectificación, supresión, oposición, limitación y portabilidad de tus datos (RGPD) escribiendo a gabrielmicovictoria@gmail.com. Como CamPhone no tiene cuentas, casi todo está en tu móvil, donde puedes borrarlo tú (grabaciones, o desinstalar la app). Lo único que guardamos en un servicio nuestro es el identificador de avisos, y se borra apagando el interruptor «Avisarme cuando la cámara grabe» en el visor. También puedes reclamar ante la Agencia Española de Protección de Datos (aepd.es) o ante la autoridad de tu país.

Base legal: los datos necesarios para conectar la cámara y el visor se tratan para prestar el servicio que has pedido (ejecución del servicio); los avisos al visor, con tu consentimiento (el interruptor y el permiso de iOS), que puedes retirar cuando quieras; los anuncios personalizados y la analítica de uso, con tu consentimiento, que puedes retirar cuando quieras; los anuncios no personalizados, por interés legítimo en financiar la versión gratuita.

Seguridad

Todas las comunicaciones van cifradas: HTTPS/WSS hacia Supabase y DTLS-SRTP entre los móviles. El código de enlace tiene 10 símbolos elegidos al azar (50 bits) y el canal de conexión se deriva de él con una huella, así que el código no aparece en los servidores. Aun así, quien conozca el código puede conectarse: guárdalo como una contraseña y cámbialo si dudas.

Cambios

Si la app cambia lo que hace con los datos, esta página se actualiza antes y cambia la fecha de abajo.

CamPhone · Vigente desde 2026-10-30 · Gabriel Micó Victoria