Español · English
Última actualización: 2 de octubre de 2026
Esta política describe cómo la aplicación móvil PyFinanzas ("la app") trata la información del usuario. PyFinanzas es una aplicación de finanzas personales diseñada para funcionar en el propio dispositivo; todo lo que sale de él se detalla en este documento.
La información financiera registrada en la app permanece en el dispositivo. Sale de él únicamente en los casos que se indican a continuación, todos ellos opcionales y activados por el usuario, salvo los tres últimos, que son automáticos y no contienen datos personales.
| Función | Qué sale del dispositivo | Destino |
|---|---|---|
| Uso normal de la app | Nada | — |
| Respaldo (opcional) | Una copia completa de la base de datos | Google Drive del propio usuario |
| Cuenta y compras (opcional) | Correo o identidad de Google, recibos de compra y de consumo de créditos | Firebase y Google Play |
| Funciones de IA (opcional) | Según la función y el nivel de autorización elegido: desde solo nombres de categorías hasta importes, saldos y fechas de movimientos, o el contenido completo del archivo, la fotografía o los mensajes que el usuario elija enviar. Detalle en la sección correspondiente | Servidor de la app y Anthropic |
| Detección de trámites (opcional) | Nada. Las notificaciones se leen y se analizan en el propio dispositivo | — |
| Errores y sugerencias (opcional) | El texto que escribe el usuario y datos técnicos del dispositivo | Servidor de la app |
| Tasas de cambio (automático) | El código de una moneda, por ejemplo "USD" | open.er-api.com |
| Informes de fallos (automático) | Datos técnicos del error y del dispositivo | Firebase Crashlytics |
| Verificación de la app (automático) | Una comprobación de que la copia instalada es auténtica. Ningún dato del usuario | Google Play y Firebase |
La app no incluye publicidad, no utiliza analíticas de seguimiento y no vende ni cede datos a terceros con fines comerciales.
La app es desarrollada por Antser Rodríguez Viñas. Las consultas sobre privacidad y las solicitudes relativas a los datos personales pueden dirigirse a Antser.rv.dev@gmail.com.
Los movimientos, carteras, categorías, deudas, presupuestos, metas, contactos y opciones de configuración se almacenan localmente, en la base de datos privada de la app. Ningún proceso de la app transmite esa información por iniciativa propia.
La app tiene desactivada la copia de seguridad automática de Android, de modo que la base de datos financiera no se incluye en las copias del sistema ni en la transferencia entre dispositivos.
Si el usuario activa el respaldo, la app guarda una copia de la base de datos en la
carpeta privada de la aplicación dentro de su propio Google Drive (área
appDataFolder).
drive.appdata, que da acceso exclusivo a esa
carpeta privada y no permite acceder al resto del Drive.La app funciona sin cuenta. Puede crearse una para utilizar los servicios que la requieren (créditos y compras). La gestiona Firebase Authentication, de Google.
Los créditos son el saldo con el que se pagan las funciones de IA. Se guardan en Firestore, de Google, asociados al uid.
La app ofrece inteligencia artificial en dos lugares:
Nada de esto se ejecuta de forma automática: todo requiere una acción expresa del usuario y consume créditos. En el asistente el coste depende de cuántas veces necesite consultar datos para responder, y se muestra al terminar.
La primera vez que se usa cualquier función de IA, la app muestra un consentimiento único. Advierte de que algunas funciones envían datos de los movimientos o de un archivo (importes, fechas, descripciones o saldos) y de que leer con IA un archivo, una fotografía o un mensaje compartido envía ese contenido completo. Lo que envía cada función en concreto es lo que se detalla en esta sección, y nunca es más que eso.
Después de ese consentimiento:
El resultado es siempre una propuesta: un movimiento listo para revisar, artículos para la lista de compras, sugerencias de presupuestos, recurrentes o plantillas, o un botón que abre la pantalla adecuada. La IA no guarda nada por su cuenta: es el usuario quien revisa, corrige y confirma.
Con cada mensaje el asistente recibe únicamente el texto escrito (o dictado), la fecha actual, el formato de números configurado y el nombre de la pantalla desde la que se abrió. No recibe los mensajes anteriores de la conversación.
Si para responder necesita algún dato, lo pide: el teléfono lo lee de su propia base de datos y envía solo lo pedido. Ningún servidor guarda una copia de la información financiera del usuario. Los datos que puede pedir se agrupan en tres niveles:
| Tipo de dato | Qué incluye | Cuándo se envía |
|---|---|---|
| Nombres | Nombres de categorías, carteras, contactos, monedas y etiquetas | Siempre que los pida, sin preguntar: los cubre el consentimiento único |
| Montos y saldos | El saldo de una cartera; los movimientos de un rango de fechas (hasta 40, con fecha, tipo, importe y moneda, más los totales por moneda; la cartera, la categoría, el contacto, las etiquetas y el comentario solo si la respuesta los necesita y los pide); las deudas pendientes (persona, importe y nota); los totales de gasto por categoría y mes; y los gastos del último año agrupados por categoría y contacto o etiqueta, con sus importes y fechas | Según el nivel de autorización |
| Archivo completo | El archivo, la fotografía o el documento que el usuario adjunte o comparta, tal cual (ver 7.4) | Según el nivel de autorización |
Junto con los datos pedidos viajan identificadores internos de los registros, para que la respuesta pueda referirse a ellos. No tienen significado fuera de la app.
Los cuatro niveles de autorización:
Aunque no se pregunte, lo enviado en cada mensaje se puede consultar después en el detalle de ese mensaje, con el icono de información.
Funciones del asistente. Todas reciben de entrada los nombres de las categorías, carteras, contactos y monedas. Además, cada una limita lo que puede pedir:
| Función | Qué puede pedir |
|---|---|
| Interpretar trámite Convertir una frase o una foto en un movimiento |
El saldo de una cartera, solo si el importe depende de él; y el archivo o la foto, si se adjunta |
| Lista de compras Anotar artículos escritos o fotografiados |
Nada más: trabaja con el texto o el archivo que se le dé, incluidas las anotaciones ajenas a la compra que contenga. No ve la lista actual ni ningún importe |
| Consejos de gastos | Los totales de gasto por categoría y mes. No ve movimientos sueltos |
| Sugerir recurrentes Sugerir plantillas |
Los gastos del último año agrupados por categoría y contacto o etiqueta. No ve movimientos sueltos |
Las sugerencias de presupuestos, recurrentes y plantillas se guardan en el dispositivo, en la pantalla de Sugeridos correspondiente, y sustituyen a las que hubiera propuesto antes la IA.
Los envíos se realizan a través del servidor de la app al proveedor de IA Anthropic.
| Función | Se envía | No se envía |
|---|---|---|
| Plantilla CSV Asignar los campos del archivo del banco |
Solo la estructura del archivo: nombre de cada columna, tipo detectado, número de valores distintos, si alguno es negativo, y la forma enmascarada de un valor de ejemplo | Ningún valor real: ni importes, ni saldos, ni fechas, ni nombres de comercios, ni una sola fila del archivo |
| Emparejar conceptos Asignar categoría a cada movimiento del archivo |
El concepto con el que el banco describe cada movimiento aún sin emparejar, y si es gasto o ingreso | Ninguna otra columna del archivo: ni importe, ni saldo, ni fecha, ni filas completas. Tampoco los conceptos ya resueltos en el dispositivo |
| Conciliar movimientos Decidir si un movimiento del archivo ya está registrado |
De cada movimiento dudoso del archivo: su texto, importe, fecha y si es gasto o ingreso. De los movimientos propios que podrían coincidir (cinco como máximo por cada uno): importe, fecha y su texto, es decir categoría, contacto y nota | Saldos, historial completo, filas que la app haya resuelto por su cuenta, ni movimientos de fechas o carteras que el archivo no abarque. Tampoco los identificadores internos: los candidatos viajan por su posición en la lista enviada |
| Lectura de archivo Convertir un PDF, una foto, un archivo que la app no entiende, o los mensajes acumulados con Agregar a importar |
El contenido completo que el usuario elige, fotografía o comparte, tal cual: todo lo que contenga, incluidos fechas, importes, conceptos, remitentes y cualquier otro dato que ese documento o mensaje traiga | Ningún dato ya guardado en la app: ni sus movimientos, ni sus saldos, ni los nombres de sus categorías o carteras |
La comparación inicial entre el archivo importado y los movimientos ya registrados se realiza íntegramente en el dispositivo y no transmite nada. La conciliación solo interviene sobre los casos que esa comparación deja en duda.
Plantilla CSV. La forma de un valor es ese valor con los datos sustituidos: cada dígito por un 9 y cada letra por una X, conservando barras, puntos y espacios. Un "03/08" se transmite como "99/99"; un "CAFE LA ESQUINA", como "XXXX XX XXXXXXX". El enmascarado lo realiza el dispositivo antes de cualquier envío y no puede desactivarse. Es necesario porque un archivo sin encabezado no aporta ninguna otra información sobre sus columnas. Debe advertirse que la forma, aunque no contiene datos, sí revela cuántos dígitos tiene un número y dónde lleva el separador decimal, lo que en una columna sin rellenar permite deducir el orden de magnitud de un importe, nunca su valor.
Emparejar conceptos. El concepto lo redacta la entidad bancaria. Si el banco incluye dentro de ese texto un importe, una fecha, dígitos de una tarjeta o el nombre de otra persona, esa información se transmite también: la app no puede identificarla ni suprimirla. El usuario puede consultarla previamente, ya que es la misma lista que muestra la pantalla. Los emparejamientos realizados se conservan en el dispositivo, de modo que un mismo concepto no vuelve a enviarse en importaciones posteriores.
Leer un archivo es lo que más información transmite: no hay forma de leer un estado de cuenta sin enviarlo entero. Un extracto bancario suele contener, además de los movimientos, saldos, números de cuenta o de tarjeta y el nombre y la dirección del titular; todo ello se transmite también, porque forma parte del mismo documento. Esto vale tanto para el asistente como para la lectura de archivo de Importar.
Desde otras aplicaciones se puede compartir con la app de dos formas:
La app no accede a la bandeja de entrada ni al historial de mensajes y no solicita ningún permiso para ello: solo recibe lo que el usuario le envía expresamente desde la otra aplicación. Un mensaje se envía completo, con el remitente, la firma y cualquier texto citado que arrastre.
Una fotografía tomada con la cámara se guarda en el almacenamiento temporal de la app únicamente hasta que se envía, y cada foto nueva sustituye a la anterior; no se copia a la galería ni se incluye en las copias de seguridad. En Importar, leer una fotografía requiere además una cuenta de pago.
El texto del asistente puede dictarse en lugar de escribirse. Para ello la app solicita el permiso de micrófono, que utiliza únicamente mientras la escucha está abierta: comienza al elegir Dictar y termina al volver a pulsar el micrófono o al enviar.
La app no almacena el audio ni lo envía a ningún servidor propio: lo entrega al reconocedor de voz del dispositivo (en la mayoría de los Android, el de Google), que devuelve el texto. El tratamiento que ese reconocedor haga del audio se rige por su propia política de privacidad. El texto resultante queda en el campo y solo se envía si el usuario pulsa enviar.
Anthropic procesa cada petición para devolver el resultado y no la utiliza para entrenar sus modelos; su tratamiento se detalla en su política de privacidad. El servidor de la app no conserva los datos enviados: los emplea para la llamada y responde.
Un archivo adjunto al asistente se sube a Anthropic para que pueda leerlo durante esa respuesta, y se borra al terminar; si la respuesta se interrumpe, se borra como máximo una hora después.
De cada uso queda en Firestore el registro descrito en Créditos y compras (uid, función, créditos y fecha) junto con el resultado devuelto, es decir, el texto de la respuesta y las propuestas, con el único fin de no cobrar dos veces una operación cuya conexión se haya interrumpido.
Para convertir importes entre monedas, la app consulta una API pública de tasas de cambio (open.er-api.com) una vez al día, en la primera apertura de la jornada, y cuando le falta la tasa de una moneda concreta.
La app utiliza Firebase Crashlytics, de Google. Cuando la app se cierra de forma inesperada se transmite un informe que puede incluir el modelo del dispositivo, la versión de Android, el estado de la app en ese momento y el registro técnico del error.
Cuando la app necesita comunicarse con su servidor —para las funciones de IA, los créditos o el envío de un reporte— comprueba antes que la copia instalada es auténtica y no ha sido manipulada, mediante Firebase App Check con Play Integrity, ambos de Google. Sirve para impedir que programas automatizados suplanten a la app y consuman a costa de otros unos servicios que tienen coste.
La opción Errores y sugerencias de la pantalla Cuenta transmite al servidor de la app el texto que escribe el usuario, junto con la versión de la app, el modelo del dispositivo, la versión de Android, el idioma y si el mensaje es un error o una sugerencia. Si hay sesión iniciada se incluye el uid, para poder atender el caso.
Bloqueo biométrico. Si se activa el bloqueo con huella o rostro, la verificación la realiza el sistema Android (BiometricPrompt). La app nunca accede, recibe ni almacena datos biométricos; estos no salen del dispositivo.
Notificaciones que muestra la app. Con el permiso correspondiente, la app muestra recordatorios de movimientos planificados y avisos de los pagos que detecta. Se generan en el dispositivo y no intervienen servidores externos.
Esta función está desactivada de fábrica. Si el usuario la activa, la app lee las notificaciones que publican las aplicaciones que él mismo marque —por ejemplo la de su banco o su billetera— para reconocer un cobro y ofrecerle anotarlo como movimiento.
Antes de enviar al usuario a conceder este permiso, la app le muestra esta misma información en pantalla y le pide una confirmación expresa.
Los únicos terceros que intervienen son los siguientes. La app no incluye publicidad, no utiliza analíticas de seguimiento y no vende ni cede datos a terceros con fines comerciales.
| Tercero | Para qué | Cuándo |
|---|---|---|
| Google — Firebase Authentication y Firestore | Cuenta, saldo de créditos y recibos | Solo con cuenta creada |
| Google — Drive | Respaldo en la cuenta del propio usuario | Solo si se activa el respaldo |
| Google — Play | Procesar las compras | Solo al comprar |
| Google — Firebase Crashlytics | Informes de fallos | Ante un cierre inesperado |
| Google — Firebase App Check y Play Integrity | Verificar que la copia instalada es auténtica | Automático, sin datos del usuario |
| Anthropic | Procesar las funciones de IA | Solo al usar una de ellas |
| open.er-api.com | Tasas de cambio | Automático, sin datos del usuario |
| Reconocedor de voz del dispositivo | Convertir el dictado en texto | Solo al usar el micrófono |
Transferencias internacionales. Google y Anthropic procesan los datos en servidores ubicados fuera de la República Dominicana, principalmente en Estados Unidos. Esto incluye la cuenta, el saldo de créditos y los recibos (Firebase), el respaldo (Google Drive) y lo que se envía a las funciones de IA (el servidor de la app y Anthropic). Al usar estas funciones, que son todas opcionales, el usuario consiente esa transferencia. Ambos proveedores aplican sus propias medidas de protección, descritas en sus políticas de privacidad.
La app aplica, entre otras, estas medidas para proteger los datos:
Ningún sistema es completamente invulnerable. Si se detectara un incidente que afecte a datos personales, se informará a los usuarios afectados.
Al desinstalar la app se eliminan todos los datos locales del dispositivo. Además:
Sobre los datos asociados a su cuenta, el usuario puede ejercer en cualquier momento los derechos de acceso, rectificación, actualización, supresión, portabilidad y oposición, y revocar el consentimiento dado. Para revocarlo basta con dejar de usar la función de que se trate, desactivar el respaldo, elegir el nivel de autorización Solo nombres en el asistente o eliminar la cuenta; la revocación no afecta a lo ya tratado antes de ella.
Las solicitudes se envían a Antser.rv.dev@gmail.com desde el correo de la cuenta y se responden en un plazo máximo de 30 días. Si el usuario considera que su solicitud no fue atendida, puede acudir a la vía judicial mediante la acción de habeas data que reconocen la Constitución dominicana y la Ley 172-13.
Los datos que residen únicamente en el dispositivo no requieren solicitud: están bajo su control directo y se eliminan desinstalando la app o borrando sus datos.
La app no está dirigida a menores de edad y no recopila conscientemente datos de ellos.
Si esta política cambia, se actualizará esta página con una nueva fecha de última actualización. La versión publicada aquí es la misma que se muestra dentro de la app.
Esta política se rige por la Ley 172-13 sobre Protección de Datos de Carácter Personal de la República Dominicana, sin perjuicio de los derechos que otorgue al usuario la ley de su país de residencia. Las condiciones de uso y de compra se detallan en los Términos de uso.