Política de privacidad de WhiskerCheck

Última actualización: 10 de octubre de 2026.

Esta política explica qué hace WhiskerCheck con tus datos. Está escrita a partir de lo que el código hace de verdad, no de lo que nos gustaría que hiciera.

Quién es responsable

Miguel Gamarra, persona física. Domicilio: Proviv. Res. La Esperanza, Carabayllo, Lima 15121, Perú. Contacto para cualquier asunto de privacidad: privacy@whiskercheck.com.

Lo más importante

Qué se guarda en tu teléfono

Casi todo esto vive en el almacenamiento normal de la app, sin cifrado adicional. Las dos últimas filas son la excepción y van en el llavero del teléfono, que es el sitio donde iOS guarda lo que no debe perderse ni copiarse a otro dispositivo:

Dato Qué es
Perfil de cada mascota nombre, especie, peso de hoy y, si los rellenas, raza, sexo y fecha de nacimiento
Foto de cada mascota una copia propia dentro de la app, no un enlace a tu carrete
Histórico de peso cada pesada con su fecha, para poder dibujar la curva
Vacunas, desparasitación, medicación y visitas qué, cuándo se hizo, cuándo toca y tus notas
Diario lo que escribas, con su fecha
Revisión de la casa qué has marcado como puesto fuera de su alcance
Historial los últimos 100 escaneos: el veredicto entero, con la mascota y el peso que tenía ese día, y cuánto comió si lo dijiste
Idioma, país y aspecto si los cambiaste a mano en ajustes
Si compartes métricas lo que elegiste en Ajustes → Privacidad
Identificadores de Firebase los que genera su SDK para esta instalación. Los pone él, no nosotros, y solo se envían si las métricas están encendidas
Identificador de la app ver el apartado siguiente
Cuántos escaneos gratis llevas gastados un número del 0 al 5, y nada más: ni qué escaneaste ni cuándo. En el llavero
Identificador de RevenueCat el que genera su SDK si llegas a abrir el muro de pago. En el llavero, y lo pone él, no nosotros

Los recordatorios de vacuna o medicación no son un dato de esta tabla: los programa tu teléfono, no nuestro servidor. Cuando borras un registro o borras todo, la app los cancela.

De esta tabla, a nuestro servidor llegan con cada escaneo el identificador de la app, la especie y el peso de la mascota, tu idioma, el país si lo elegiste a mano y la cantidad si la indicas, y con cada petición si eres gratis o Pro, que la app sabe por la suscripción. Y se guardan con el escaneo. Lo cuenta «Qué se envía a nuestro servidor». A otros sí salen algunas filas. El identificador de RevenueCat va a RevenueCat. Y si las métricas están encendidas, van a Google el identificador de la app, los de Firebase, tu idioma, tu aspecto, el país si lo elegiste a mano y cuántos escaneos gratis llevas. Lo cuentan «Las métricas» y «Quién más ve algo».

Puedes borrar todas las filas de arriba desde Ajustes → «Borrar todo lo de este teléfono», o desinstalando la app, menos las dos últimas. Esas dos viven en el llavero y el llavero sobrevive a las dos cosas.

«Borrar todo» respeta además tu elección sobre las métricas, a propósito: borrar tus datos no debe volver a encender lo que apagaste. Desinstalar la app sí la borra. Ese botón sí cambia el identificador de Analytics, para que en Google lo de antes y lo de después no queden unidos; el de Crashlytics lo gestiona su SDK y no hay forma de cambiarlo desde la app. Sin conexión no cambia ninguno: si el servidor no contesta, el identificador de la app se queda para poder repetir el borrado, y con él seguiría uniéndose todo. Se desata al repetirlo con conexión.

Y es a propósito, así que lo decimos sin adornarlo: si el contador se borrara, reinstalar regalaría cinco escaneos gratis cada vez, y el muro de pago no existiría. Comprobado en un iPhone el 7 de septiembre de 2026 — al reinstalar volvieron el mismo contador y la misma suscripción, sin pulsar «Restaurar compras».

Ten en cuenta que, si tienes activadas las copias de seguridad de iCloud o de Google, estos datos pueden acabar en ellas. Esa copia está en tu cuenta y se rige por las condiciones de Apple o de Google, no por las nuestras. El contador de escaneos es la excepción: está marcado para no copiarse a otro teléfono, ni siquiera en un respaldo.

Los dos identificadores

Hay dos que importan, y no se los pasamos el uno al otro. Eso es lo importante y por eso está primero: RevenueCat no recibe el nuestro, así que no puede saber qué escaneó una instalación.

Lo que cambió en septiembre de 2026, y conviene decirlo aquí: si las métricas están encendidas, el nuestro viaja a Google con ellas, y con él si eres gratis o Pro, los pasos del muro de pago y qué sale en cada escaneo. Nosotros sí podemos juntar eso con los reportes que envíes y con los escaneos que guarda nuestro servidor, que llevan el mismo identificador: para eso lo usamos. Lo cuenta «Las métricas».

El nuestro

Al abrir la app por primera vez se genera un número aleatorio (un UUID). No lo obtenemos de tu teléfono ni de tu cuenta: lo inventa la app. Sirve para cuatro cosas: frenar el abuso —cuántos escaneos llevas en la hora en curso—, saber que un reporte de resultado incorrecto viene de la misma instalación, saber cómo usa la app cada instalación y qué le falla —nuestro servidor guarda cada escaneo con él— y, si compartes métricas, unir lo que pasó en esa instalación con sus fallos, sus reportes y los registros de nuestro servidor.

Ese «cuántos escaneos» no tiene nada que ver con los cinco gratis: son dos contadores distintos, en dos sitios distintos. El de aquí lo lleva nuestro servidor, va por horas y se borra solo. El de los cinco gratis lo lleva tu teléfono y es de por vida; a nuestro servidor no llega, y a Google solo como métrica, si las tienes encendidas.

Lo tratamos como dato personal. No lleva tu nombre y solo lo compartimos con Google, para las métricas y solo si están encendidas, pero es estable e identifica tu instalación, y bajo el RGPD eso basta.

Si borras todo desde ajustes, la app avisa antes al servidor para que suelte lo que tenga atado a ese identificador, y después lo borra de tu teléfono y empieza a usar uno nuevo. Ese orden importa: al revés perderíamos la única llave para encontrar tus datos. Si en ese momento no hay conexión, la app te lo dice en vez de dar el borrado por hecho.

Desinstalar la app sin pasar por ajustes no avisa al servidor. Si te ocurre, escríbenos a privacy@whiskercheck.com y lo hacemos nosotros — necesitaremos que nos digas cuándo y qué escaneaste o reportaste, porque sin el identificador no podemos localizarlo por ti. Y si no nos escribes, se suelta solo a los 14 meses.

El de RevenueCat

RevenueCat es quien lleva la suscripción, y su SDK genera su propio identificador —empieza por $RCAnonymousID— la primera vez que la app arranca con las compras activas.

No le pasamos el nuestro, y es una decisión, no un descuido: el SDK acepta que le demos un identificador de usuario y deliberadamente no se lo damos. Tampoco le damos tu correo, ni tu nombre, ni ningún atributo tuyo, aunque el SDK también lo permita. Así, RevenueCat no recibe nada de lo que mandamos a Google, ni Google el identificador de RevenueCat. Lo que impide juntar lo que sabe cada uno es que nadie se lo pasa al otro, y lo decimos así porque es lo exacto: ya hemos quitado a Firebase el identificador que Apple da a tu iPhone para nuestra app, que era lo único que los dos recibían igual.

Nosotros no leemos ese identificador en ningún momento: de todo lo que RevenueCat responde, la app solo mira una cosa, si la suscripción está activa o no. Un sí o un no.

Este también vive en el llavero, así que sobrevive a desinstalar la app y a «Borrar todo lo de este teléfono». Eso es lo que hace que al reinstalar vuelva tu suscripción sin tener que restaurarla, y también lo que hace que «Borrar todo» no alcance a RevenueCat: ese botón limpia tu teléfono y nuestro servidor, no el suyo. Para eso, escríbenos.

Qué se envía a nuestro servidor

Nuestro servidor está en Cloudflare Workers.

Al escanear un código de barras: el código, el identificador de la app, la especie y el peso de la mascota, y el idioma. Si después indicas cuánto comió, también esa cantidad.

Al escanear una etiqueta o una foto: lo mismo, más la fotografía. La foto se reduce a 1280 píxeles de ancho antes de enviarse; ese reprocesado elimina de paso los metadatos de la imagen original, incluida la ubicación si la llevaba.

Al reportar un resultado incorrecto: el identificador de la app, qué escaneaste, el veredicto que recibiste y el motivo que elegiste.

Si un escaneo falla dentro de la app —se corta la conexión, no llega respuesta—: qué falló, en qué paso y cuánto llevaba, con el identificador de la app.

Y en cada una de esas peticiones, la app dice de sí misma: su versión, la versión nativa con la que corre y el paquete de actualización que tiene, el sistema del teléfono —«ios 26.1»— y si eres gratis o Pro.

Si eres Pro, nuestro servidor lo sabe, pero no decide nada con ello. La app lo dice para que podamos separar cómo usa la app quien paga de quien no. El muro de pago se sigue resolviendo entero en tu teléfono, y de la compra no nos llega nada: ni el recibo, ni el precio, ni el identificador de RevenueCat.

Como en cualquier conexión a internet, Cloudflare ve además tu dirección IP. Nuestro servidor la guarda con cada escaneo y cada fallo durante 30 días, junto con la red desde la que te conectas —el número de tu operadora, no tu ubicación—. Es lo que deja ver que un pico de peticiones viene de un programa y no de personas, y bloquearlo. También lee el país que Cloudflare deduce de ella —dos letras, «PE», «ES»—, o el que hayas elegido a mano en ajustes si lo cambiaste.

Ese país se usa para cuatro cosas: elegir el teléfono de toxicología que se te enseña en una urgencia, pedirle al modelo el nombre que se usa donde estás —«palta» y no «aguacate»—, guardar la respuesta separada por país, para que a nadie se le sirva el nombre de otro sitio, y apuntarlo con cada escaneo, para saber desde dónde se usa la app. Es un país entero, no una ubicación.

Qué guardamos en el servidor, y cuánto tiempo

Aquí no vamos a adornar nada.

Qué Cuánto tiempo Qué lo borra hoy
Cada escaneo: qué modo, la especie y el peso, qué salió, el código de barras o lo que se identificó, cuánto tardó, el país, la red, la versión de la app y si eres gratis o Pro, con el identificador de la app El identificador, 14 meses. El resto, indefinidamente Un proceso diario automático
Tu dirección IP, con cada escaneo y cada fallo 30 días Un proceso diario automático
Los fallos de un escaneo dentro de la app, con el identificador 90 días, enteros Un proceso diario automático
Reportes de resultado incorrecto El identificador y el comentario, 14 meses. El resto, indefinidamente Un proceso diario automático
Códigos de barras escaneados, con la fecha Indefinidamente Nada
Contador antiabuso, por hora (no es el de los cinco gratis, que vive en tu teléfono) Poco más de una hora Se borra solo
Caché de productos 30 días (7 si el producto no existe) Se borra sola
Nombres de lo que consultas y no tenemos documentado, con el país Indefinidamente Nada
La respuesta guardada para esos nombres 14 días si dijo que no figura como peligroso, 30 si avisó de algo Un proceso diario automático
Las fotos 30 días, en el registro técnico de las llamadas al modelo Cloudflare, al cumplirse el plazo

Sobre los códigos de barras: guardamos qué productos ha consultado alguien alguna vez, con la fecha, para no tener que volver a preguntárselo a Open Food Facts. Esa tabla no guarda quién los escaneó; el registro de escaneos sí, y lo cuenta el párrafo que viene después.

Sobre lo que consultas y no tenemos documentado: nuestra base no cubre todo lo que se puede escanear, así que a veces lo que escaneas no está. Cuando eso pasa se lo preguntamos al asistente y apuntamos el nombre de eso que preguntaste —«plátano», «mango»— junto con la especie y un contador de cuántas veces nos lo han preguntado. Sirve para decidir qué documentar a continuación con una fuente veterinaria de verdad, en vez de elegirlo a ojo.

Junto al nombre se guarda también la respuesta, para no volver a pagar la misma pregunta con la espera que cuesta: la explicación, los signos, la gravedad y con qué modelo se obtuvo. Es la misma respuesta que viste en pantalla, y sirve para el siguiente que pregunte lo mismo.

Junto a todo eso se guarda el país desde el que se preguntó. Está ahí porque el idioma no basta para nombrar las cosas: «palta» y «aguacate» son la misma fruta y el mismo idioma, y si la respuesta no se separase por país, la primera que se guardara se le serviría a todos los demás con el nombre equivocado.

Esa tabla no guarda quién preguntó. No hay identificador de teléfono, ni foto, ni el nombre ni el peso de tu mascota: la palabra, la especie, el idioma, el país, un contador y la respuesta. Quién escaneó qué lo guarda el registro de escaneos, que es lo siguiente.

Sobre el registro de escaneos: desde septiembre de 2026, nuestro servidor apunta cada escaneo con el identificador de la app, salga bien o falle. Guarda el modo, la especie y el peso, qué nivel salió y qué sustancia lo decidió, el código de barras o el nombre de lo que se identificó en la foto —nunca la foto—, cuánto tardó, el país, la red, la versión de la app y si eres gratis o Pro. Sirve para saber cómo se usa la app, qué instalación la usa más, qué falla y dónde, y qué nos falta documentar; y para ver cuándo un volumen raro es un abuso. Sin el identificador tendríamos los números pero no podríamos separar a quién le pasa cada cosa.

A los 30 días se le quita la IP, y a los 14 meses el identificador; la fila se queda, porque sin ellos ya no dice de quién es y sigue sirviendo para ver tendencias. Es el mismo plazo que ya guardan las métricas de Google con el mismo identificador: nuestro servidor no lo retiene más tiempo que ellas. Y «Borrar todo lo de este teléfono» lo suelta en el acto.

Sobre las fotos: no se guardan en ninguna base de datos nuestra —no hay tabla de fotos, ni carpeta, ni forma de buscar la tuya—, pero tampoco desaparecen en el aire. La llamada al modelo pasa por el AI Gateway de Cloudflare, que registra cada petición con su contenido, y el contenido de una petición de foto es la foto. Ese registro se conserva 30 días y después se borra.

Está encendido a propósito y no lo vamos a apagar: es lo que nos permite averiguar por qué un escaneo falló, devolvió algo absurdo o tardó veinte segundos. Sin él, un fallo que solo le pasa a una persona es un fallo que no se puede arreglar. Lo consultamos para eso y solo para eso, no lo mira nadie de fuera, y no está asociado a tu nombre ni a tu mascota.

En tu teléfono queda una copia temporal en la memoria interna de la app, que la app borra al terminar cada escaneo.

Sobre los reportes: a los 14 meses se les quita el identificador de la app y el comentario, y lo hace un proceso automático que corre todos los días. Lo que queda —qué producto, qué veredicto, qué motivo— ya no dice de quién vino, y nos sigue sirviendo para corregir los datos. Hasta septiembre de 2026 eran noventa días; se alargó para que un reporte se pueda juntar con los escaneos de la misma instalación mientras estos lo estén.

Las métricas

Desde septiembre de 2026 la app mide cómo se usa y cuándo falla, con Firebase Analytics y Firebase Crashlytics, de Google. Sin eso no sabríamos dónde se atasca la app, qué falla ni qué partes sirven de verdad, y un fallo que solo le pasa a unos pocos no se podría arreglar.

Vienen encendidas, y las apagas en Ajustes → Privacidad cuando quieras. Apagadas, la app funciona exactamente igual y deja de mandar métricas de uso en el acto. Con los fallos hay un matiz: si la app se cierra de golpe en la misma sesión en que las apagas, ese fallo aún puede enviarse la próxima vez que la abras. Los que ocurran con las métricas ya apagadas se borran sin enviarse.

Lo que se envía, a grandes rasgos:

La app nunca envía por su cuenta el nombre de tu mascota, sus fotos, lo que escribes en el diario, el comentario de un reporte, el código de barras ni la foto de un escaneo. Lo único que escribes y sale es lo del buscador, contado arriba.

De una compra, el SDK de Google puede registrar por su cuenta el producto, el precio y la moneda. Tu método de pago no lo ve nadie más que Apple.

El SDK de Google genera además sus propios identificadores para esta instalación. No recoge el identificador publicitario —la app está hecha sin él— ni el que Apple da a tu iPhone para nuestra app (el IDFV), que tenemos apagado. Como habla directamente desde tu teléfono, Google ve también tu dirección IP y deduce de ella tu país y tu ciudad aproximados.

Google no usa esto para publicidad: tenemos apagadas las «señales de Google» y la personalización de anuncios. Google Analytics conserva lo que va unido a tu instalación 14 meses, y Crashlytics los fallos 90 días; después se borra. Los recuentos totales, que ya no dicen de quién son, se quedan.

Además, una copia de esos eventos y fallos pasa cada día a BigQuery, en nuestra cuenta de Google Cloud, para poder consultarlos con más detalle que en los informes de Google. Esa copia se borra sola a los 60 días.

Quién más ve algo

Quién Qué recibe Para qué
Cloudflare Todo lo que envías, más tu IP. Guarda además, durante 30 días, el registro de cada llamada al modelo —con la foto dentro— Aloja el servidor, la base y la caché, y nos deja ver qué falló cuando algo falla
Google (Firebase) Si las métricas están encendidas, lo que cuenta «Las métricas», con el identificador de la app. Por hablar desde tu teléfono, ve además tu IP Saber qué se usa y qué falla en la app
Google (Gemini) La foto; en el modo foto, además la lista de lo que tenemos documentado y se puede reconocer en una imagen; y cuando no tenemos ficha de lo escaneado, el nombre de eso con la especie y, si la había, la lista de ingredientes. En los dos casos va también tu país, en dos letras Leer la etiqueta, identificar lo de la foto, o responder por lo que no tenemos documentado — y llamarlo como se llama donde estás
Open Food Facts Solo el código de barras Saber qué producto es
Expo (EAS Update) En cada arranque, desde tu teléfono: tu IP, un identificador propio de la instalación, la versión de la app y el sistema Comprobar si hay una versión nueva de la app y descargarla
RevenueCat Su identificador anónimo, los eventos de compra, renovación y restauración, y el recibo de Apple con el producto, el precio y la moneda. Por hablar desde tu teléfono, ve además tu IP, el modelo, la versión de iOS, tu idioma y el país de tu App Store Comprobar el recibo contra Apple, decidir si tu suscripción está activa y devolvértela al restaurar
Apple El pago entero: quién eres para ellos, tu método de pago y la transacción Cobrar. Nosotros no vemos nada de eso

Tres servicios hablan directamente con tu teléfono, y por eso ven tu dirección IP: RevenueCat; Firebase, si las métricas están encendidas; y Expo, que en cada arranque comprueba si hay una versión nueva de la app. Lo hacen solos, sin que tú toques nada, no como los dos enlaces del final de este apartado, que solo se abren si los tocas. Ninguna de esas llamadas pasa por nuestro servidor.

El SDK de RevenueCat manda también, por su cuenta, el identificador que Apple da a tu iPhone para nuestra app (el IDFV). No lo pedimos nosotros y no lo vemos, pero va, y preferimos decirlo a que lo descubras. No es el identificador publicitario: ese no lo recoge nadie aquí, y por eso la app nunca te pide permiso para seguirte.

Ni Gemini ni Open Food Facts ven tu dirección IP. Esas consultas salen de nuestro servidor, no de tu teléfono. (El botón de buscar un veterinario cerca es otra cosa y va aparte, más abajo.) Tampoco reciben el identificador de la app ni el peso de tu mascota. La especie sí llega a Gemini en dos casos, porque de ella depende la respuesta: en el modo foto, la lista de candidatas va filtrada por especie; y cuando preguntamos por algo que no tenemos documentado, la pregunta es literalmente «¿esto es peligroso para un perro?».

El país llega a Gemini por un motivo y solo por ese: que te devuelva el nombre que se usa donde estás. Son dos letras de un país entero, no una ubicación, y viajan sueltas —sin identificador, sin IP y sin nada de tu mascota—, así que no acercan a nadie a saber quién preguntó.

De tu mascota, a Gemini no llega nada más que la especie. A Firebase, si las métricas están encendidas, le llegan además cuántas mascotas tienes, la franja de peso y de edad de la seleccionada y lo que cuenta «Las métricas» sobre la ración y el peso. Su peso exacto llega a nuestro servidor —de él sale el veredicto—, se guarda con el escaneo y no pasa de ahí. Su nombre, su foto, su raza y su diario no le llegan a nadie.

No usamos publicidad, identificadores publicitarios, notificaciones push, ubicación ni contactos.

Medición hay de dos clases, y van con su nombre: las métricas de Firebase, contadas en su apartado, y la cuenta de las suscripciones que lleva RevenueCat —cuántas se compran, cuántas se renuevan, cuántas se cancelan—, atada a su identificador anónimo. Lo de RevenueCat no lo usamos para nada más, y no se junta con lo que escaneas porque no podemos juntarlo.

Los avisos de vacuna o medicación que puedes programar no son notificaciones push: no salen de ningún servidor. Los agenda tu propio teléfono con lo que escribiste, y nosotros no nos enteramos de que han saltado.

Los casos en los que sí sales de aquí

Los dos de este apartado tienen algo en común y conviene decirlo antes: ninguno se abre solo. (RevenueCat, Firebase y Expo sí hablan solos, y están contados más arriba.)

En la pantalla de veredicto hay un enlace a la fuente del dato (ASPCA, el Manual Merck y similares). Si lo tocas, abres esa web y ella sí ve tu dirección IP, como cualquier visita normal. No lo controlamos nosotros. El enlace no se abre solo: solo si lo tocas.

Y en un veredicto rojo o naranja hay un botón para buscar un veterinario de urgencias cerca. Si lo tocas, tu teléfono abre Google Maps —o Apple Maps, si es lo que tienes— con la búsqueda ya escrita. A partir de ahí estás en su app y en sus condiciones: ven tu dirección IP y, si les das permiso, tu ubicación. Nosotros no se la damos: la app no pide el permiso de ubicación y en la búsqueda no viaja ningún dato tuyo, solo las palabras «veterinario de urgencias». Tampoco se abre solo.

El sitio web

whiskercheck.com es un sitio estático: páginas ya escritas que se sirven tal cual.

Como en cualquier web, Cloudflare ve la petición y tu dirección IP porque es quien sirve las páginas, y las conserva en sus registros conforme a su propia política. Nosotros no leemos esos registros ni los cruzamos con nada: el sitio no sabe quién eres, y no tiene forma de relacionarte con la app.

Menores

WhiskerCheck no está dirigida a menores de 16 años y no la deben usar sin autorización de quien tenga su tutela. No pedimos la edad y no tenemos forma de comprobarla.

Tus derechos

Puedes pedirnos acceso a tus datos, su rectificación, su supresión, la limitación u oposición al tratamiento, y su portabilidad. Escribe a privacy@whiskercheck.com.

En nuestro servidor, lo asociado a tu instalación son tus escaneos, los fallos de la app y los reportes que hayas enviado, y puedes soltarlo tú mismo desde Ajustes → «Borrar todo lo de este teléfono», sin escribirnos ni esperar: los fallos se borran enteros, y a los escaneos y reportes se les quitan el identificador, la IP y el comentario. Lo que queda después —qué producto, qué veredicto, qué motivo— ya no dice de quién vino y nos sigue sirviendo para ver tendencias y corregir los datos.

Si quieres una copia de lo que tu instalación tiene en nuestro servidor, escríbenos a privacy@whiskercheck.com con el identificador de la app, que está al final de Ajustes → Privacidad.

Lo que las métricas mandaron a Google tampoco lo borra ese botón. Lo que deja de hacer es unirlo con lo nuevo, porque cambia los identificadores. Se borra solo, a los 14 meses (los fallos, a los 90 días, y la copia de BigQuery, a los 60). Si lo quieres fuera antes, escríbenos a privacy@whiskercheck.com con el identificador de la app, que está al final de Ajustes → Privacidad, y hazlo antes de borrar todo, porque después ya habrá cambiado.

Lo de RevenueCat va aparte y ese botón no lo toca. Si te has suscrito alguna vez, ellos tienen una ficha atada a su identificador anónimo con tus compras y renovaciones. Para que la borren, escríbenos a privacy@whiskercheck.com y lo pedimos nosotros. Dos avisos honestos sobre eso:

Y tu suscripción como tal vive en tu cuenta de Apple: cancelarla o pedir el reembolso se hace allí, no aquí.

Con qué derecho tratamos cada cosa

Para quien viva en la Unión Europea, esto es la base jurídica de cada tratamiento:

Qué Por qué podemos
El veredicto: lo que escaneas, la especie y el peso Ejecución del contrato — es literalmente lo que nos pides que hagamos
El identificador de la app y la cuota por hora Interés legítimo en que el servicio no se lo coma un solo cliente y la factura no se dispare
El registro de escaneos y de fallos, con el identificador, la IP y si eres gratis o Pro Interés legítimo en saber cómo se usa el servicio, qué falla y quién abusa de él, para mejorarlo y protegerlo. Lo sueltas cuando quieras desde Ajustes
Los reportes de resultado incorrecto Interés legítimo en corregir datos que pueden hacer daño si están mal
Los nombres de lo que no tenemos documentado Interés legítimo en saber qué documentar después
Las métricas de uso y de fallos Interés legítimo en saber qué falla y qué sirve, para arreglarlo y mejorar la app. Vienen encendidas y puedes oponerte cuando quieras apagándolas en Ajustes → Privacidad
La suscripción: la compra, el recibo y saber si sigue activa Ejecución del contrato — sin eso no hay forma de darte lo que pagaste
El contador de cinco escaneos gratis, en tu teléfono Ejecución del contrato — es la condición con la que te ofrecemos la parte gratuita. Solo sale de tu teléfono como métrica, si las tienes encendidas
El registro contable de una venta Obligación legal — sobrevive a una petición de supresión, y es lo único que sobrevive

No pedimos consentimiento antes de medir, y es una decisión, no un olvido: las métricas vienen encendidas y se apagan con un toque. Publicidad, cookies y seguimiento entre apps no hay, y lo que no existe no necesita permiso.

La app tampoco te pide el permiso de seguimiento que iOS enseña en otras apps, y no es un olvido: ese permiso existe para el identificador publicitario, y aquí no se recoge ninguno, tampoco en Firebase. Lo de RevenueCat no va por consentimiento sino por contrato: es lo que hace falta para darte la suscripción que compraste.

Tus datos salen de tu país: Cloudflare, Google y RevenueCat, Inc. procesan fuera de la Unión Europea y fuera de Brasil. Los tres ofrecen las cláusulas contractuales tipo de la Comisión Europea, que es el mecanismo con el que se hace esa transferencia; para Brasil, el equivalente que la ANPD ha aprobado para transferencias internacionales.

RevenueCat y Google, por Firebase, son los que conviene mirar dos veces: los dos reciben datos directamente desde tu teléfono, sin pasar por nuestro servidor, y RevenueCat está en Estados Unidos. Expo, que también habla desde tu teléfono para las actualizaciones, procesa igualmente fuera de la Unión Europea y de Brasil. Apple también queda fuera, y con ella no hay contrato nuestro que valga: el pago es suyo y se rige por sus condiciones.

Cambios

Si esto cambia, cambiará la fecha de arriba y lo avisaremos dentro de la app antes de que la versión nueva se aplique.

Última actualización: 9 de octubre de 2026