Política de Privacidad
Última actualización: 2026-08-25
ZeniCash es una aplicación de finanzas personales, tesorería y registro de facturas utilizada por particulares, autónomos y pequeñas empresas, publicada por Manor Systems, Unipessoal Lda (NIPC 519 377 753), Rua da Figueira 126, 4820-645 São Clemente, Fafe, Portugal ("nosotros"). Esta política describe qué datos tratamos, por qué, dónde se almacenan y los derechos que tiene sobre ellos.
1. Resumen
- La aplicación está diseñada para funcionar sin conexión — sus datos viven en su dispositivo por defecto.
- La Sincronización Cloud, el inicio de sesión, el registro de facturas y las exportaciones son opt-in.
- El OCR de recibos se ejecuta en su dispositivo por defecto; las fotos de los recibos nunca lo abandonan. La lectura con IA — que envía la foto a Google Gemini — está desactivada por defecto y solo se ejecuta si usted la activa.
- Los informes de fallos están siempre activos, para poder corregir lo que se rompe. Informan del fallo, no de usted.
- La analítica de uso solo funciona si usted la autoriza, y puede retirar esa autorización cuando quiera en los Ajustes.
- No usamos SDKs publicitarios, y desactivamos el identificador publicitario que la analítica recogería por defecto.
- No vendemos ni alquilamos sus datos.
- No hacemos profiling, scoring ni decisiones automatizadas sobre usted.
- Los documentos que adjunta a los movimientos (fotos de recibos y facturas en PDF) permanecen en su dispositivo. A partir de la versión 1.5.0, con la Sincronización Cloud activa, se guardan también en su área privada, para poder abrirlos en cualquier dispositivo.
2. Qué recopilamos y cuándo
2.1 Siempre — nada
Un usuario que instala la aplicación y nunca inicia sesión no produce dato alguno en nuestros servidores. La base de datos SQLite local está protegida por el aislamiento por aplicación del sistema operativo y por su PIN / biométrico / bloqueo de la app.
2.2 Cuando inicia sesión (opcional)
Iniciar sesión solo es necesario si decide activar la Sincronización Cloud. Le autenticamos mediante Google Sign-In o Apple Sign-In, y Firebase Authentication devuelve:
- Su nombre de visualización (proporcionado por Google/Apple)
- Su dirección de email
- Un identificador de usuario (el Firebase UID — una cadena pseudoaleatoria)
Estos se utilizan para particionar sus datos en Cloud Firestore en
users/{uid}/… para que sus dispositivos
se reconozcan en la sincronización.
2.3 Cuando activa la Sincronización Cloud (opcional)
Los registros financieros que crea — cuentas, transacciones, presupuestos, categorías, facturas, anticipos, transacciones recurrentes y similares — se copian a su espacio privado en Firestore, cifrados en tránsito (TLS) y en reposo (Firebase). Solo su sesión autenticada puede leer o escribir en su espacio; nosotros no accedemos a él.
A partir de la versión 1.5.0, además de los registros, se copian los documentos que
adjuntó a los movimientos: fotos de recibos y facturas en PDF.
Residen en un área privada accesible solo por su sesión autenticada, en
users/{uid}/receipts/. Los archivos de más
de 10 MB no se copian y permanecen solo en el dispositivo
desde el que se adjuntaron. Los documentos se envían al guardar el
movimiento y solo se descargan cuando los abre.
2.3b Cuando se une a un espacio compartido (opcional)
Un espacio compartido permite que varias personas lleven un libro en común. Nunca se le coloca en uno sin querer: o crea el espacio, o introduce un código de invitación que alguien le dio.
Mientras está en un espacio, lo que la Sincronización en la nube mantendría privado pasa a ser visible para todos los miembros — cuentas, transacciones, presupuestos, categorías, proyectos, transacciones recurrentes, eventos de flujo de caja, tipos de cambio manuales y entidades, incluido cualquier número fiscal que haya registrado de un cliente o proveedor. Su nombre y su dirección de correo, tal como figuran en la cuenta con la que inició sesión, también son visibles para los demás miembros, para que la aplicación pueda mostrar de quién es cada cuenta.
Los registros de miembros distintos nunca se fusionan: dos cuentas con el mismo nombre siguen siendo dos cuentas. Si abandona un espacio, su propio libro se restaura en su dispositivo, pero lo que llevó allí permanece con los miembros que se quedan — salir no lo retira.
Si sus registros se refieren a otras personas — el nombre y el número fiscal de un cliente, por ejemplo —, compartirlos con los demás miembros es decisión suya, y es su responsabilidad tener una base legal para hacerlo.
2.4 Cuando se suscribe al Premium (opcional)
Las suscripciones in-app las procesa Google Play Billing (Android) o App Store In-App Purchase (iOS). La tienda gestiona los datos de pago; nosotros solo recibimos el estado de su suscripción (activa / cancelada / expirada) para que la aplicación desbloquee las funciones Premium. Nunca vemos números de tarjeta.
2.5 Tipos de cambio
Para convertir saldos entre divisas, la app llama a APIs públicas y gratuitas de tipos de cambio, en este orden:
- exchangerate-api.com vía el endpoint open.er-api.com (principal).
- El dataset CC0 fawazahmed0/exchange-api, servido desde cdn.jsdelivr.net y currency-api.pages.dev como respaldo.
Estas peticiones llevan únicamente un código de divisa base (p. ej.
EUR) — sin identificador, sin datos de cuenta ni
transacción. Los resultados se cachean localmente durante 6 horas.
2.6 OCR de recibos — en el dispositivo por defecto
Por defecto, la lectura de recibos se ejecuta enteramente en su dispositivo. Cuando fotografía un recibo, la app usa el reconocimiento de texto on-device de Google ML Kit para extraer el proveedor, el importe, la fecha y el número de documento. La imagen se procesa localmente; nada se envía a nosotros ni a nadie con fines de OCR.
Lectura de recibos con IA — opcional, desactivada por defecto. Algunos recibos, en especial los tiques térmicos descoloridos, no pueden leerse con fiabilidad en el dispositivo. Para esos, puede activar la lectura de recibos con IA en Ajustes. Es una función Premium: además de su consentimiento, se requiere una suscripción Premium activa y, sin Premium, la foto del recibo permanece en el dispositivo aunque la opción esté activada. Mientras esa opción esté activada y Premium esté activo, la foto del recibo se envía a la API Gemini de Google, que la lee y devuelve los campos extraídos. Le pedimos confirmación antes de activarla, y puede desactivarla en cualquier momento — con ella desactivada, ninguna foto de recibo sale de su dispositivo.
La foto se envía únicamente para realizar esa lectura. Según los términos del nivel de pago de la API de Google, el contenido enviado a la API Gemini no se usa para entrenar los modelos de Google. ZeniCash no almacena la foto en sus servidores: solo se transmite, se procesa y se descarta. El texto extraído se guarda después en el dispositivo (y se sincroniza vía Cloud Firestore si la Sync está activa, igual que cualquier otra nota de transacción que usted teclease).
Base jurídica: su consentimiento (art. 6.1.a del RGPD), otorgado al activar la opción. Puede retirarlo en cualquier momento desactivándola, sin efecto sobre lo ya leído.
2.7 Importación de extractos bancarios
Puede importar un CSV, XLSX u OFX de extracto bancario para crear transacciones. El fichero se analiza localmente y se descarta; solo las transacciones que confirme acaban en la app (y en Cloud Firestore si la Sync está activa).
2b. Informes de fallos y analítica opcional
Dos cosas miden la aplicación en sí, no sus finanzas. Se tratan de forma distinta a propósito, porque no son el mismo tipo de dato.
Informes de fallos — siempre activos
Cuando la app falla, Firebase Crashlytics nos envía el fallo para poder corregirlo. No saber que la app se rompió en su teléfono no ayuda a nadie, y menos a usted. Un informe contiene la traza del error y la hora, la versión de la app, el modelo del dispositivo, la arquitectura del procesador, la versión del sistema y la memoria y el espacio libres en ese momento, junto a un identificador de instalación. No contiene ningún dato financiero — ni cuentas, ni movimientos, ni facturas, ni recibos.
Analítica de uso — solo si la autoriza
Google Analytics for Firebase está instalado pero no recoge nada hasta que usted acepte. La app pregunta una vez; si rechaza, no vuelve a preguntar y no se envía nada. Puede cambiar de opinión en ambos sentidos en Ajustes → Seguridad.
Con su permiso registra cómo se usa la app — con qué frecuencia se abre, la duración de las sesiones, la versión, el modelo del dispositivo y el sistema, y un país aproximado deducido de su dirección IP — bajo un identificador de instancia. No registra lo que usted escribe, lo que gana o gasta, quiénes son sus clientes, ni nada de su contabilidad.
3. Lo que NO recopilamos
- Sin identificadores publicitarios ni de atribución. Google Analytics for Firebase recogería por defecto el ID de publicidad de Android; desactivamos esa recogida en el manifiesto de la app.
- Sin GPS ni ubicación precisa. Si autoriza la analítica, Google deduce un país aproximado a partir de su dirección IP — es la única información geográfica implicada.
- Sin contactos del dispositivo (la app guarda registros de cliente/proveedor que usted escribe, no su agenda)
- Sin micrófono, sin calendario, sin datos biométricos por nuestra parte (el SO gestiona la biometría del bloqueo de la app localmente)
- Sin profiling, scoring ni segmentación conductual
4. Base legal del tratamiento (RGPD / LGPD)
Conforme al Artículo 6 del RGPD — y las disposiciones análogas de la LGPD brasileña — nuestras bases legales son:
- Ejecución de un contrato (Art. 6.1.b) — para la creación de cuenta, inicio de sesión, Sincronización Cloud, gestión de la suscripción y las funcionalidades in-app que decida usar.
- Intereses legítimos (Art. 6.1.f) — para mantener la infraestructura segura, prevenir el abuso y el fraude, y atender las solicitudes de soporte que nos envíe. La evaluación de interés legítimo está disponible a petición.
- Obligación legal (Art. 6.1.c) — para conservar registros mínimos de facturación exigidos por la legislación fiscal portuguesa (obligación de conservación de facturas hasta 10 años).
- Consentimiento (Art. 6.1.a) — para cualquier funcionalidad opt-in futura (p. ej. boletín por email). Actualmente no operamos ninguna.
5. Sin profiling, sin decisiones automatizadas
No aplicamos ninguna toma de decisiones automatizada ni profiling en el sentido del Artículo 22 del RGPD a sus datos. No hacemos credit-scoring, calificación de riesgo, segmentación ni análisis de sus datos financieros para tomar decisiones que produzcan efectos jurídicos o significativamente similares para usted. Las funcionalidades locales de la app (alertas de presupuesto, proyecciones de tesorería, notificaciones de límite de cuenta) son cálculos deterministas sobre datos que usted mismo introdujo; no son profiling.
6. Dónde viven sus datos
- En su dispositivo: en la base de datos SQLite de la app, aislada por el sistema operativo.
- Firebase Authentication y Cloud Firestore (si la Sincronización Cloud está activa): operados por Google Ireland Ltd, principalmente en regiones de la UE, con infraestructura de recuperación ante desastres en otras regiones de Google. Google actúa como nuestro encargado del tratamiento bajo un Data Processing Addendum, y las transferencias internacionales (cuando ocurren con fines de copia de seguridad) se basan en Cláusulas Contractuales Tipo (CCE/SCC).
- Firebase Cloud Storage (a partir de la versión 1.5.0, si la Sincronización Cloud está activa): los documentos adjuntos se almacenan en la región europe-west1 (Bélgica), operada por Google Ireland Ltd. Solo su sesión autenticada puede leerlos, escribirlos o borrarlos; nosotros no accedemos a ellos.
7. Subencargados del tratamiento
Recurrimos a los siguientes encargados y subencargados. Disponemos con cada uno de ellos de un Data Processing Addendum o protección contractual equivalente.
- Google Ireland Ltd — Firebase Authentication (inicio de sesión), Cloud Firestore (almacenamiento de la Sync), Google Play Billing (cobro de suscripciones en Android), ML Kit Text Recognition (solo on-device — ningún contenido de recibos sale de su dispositivo) y — solo si activa la lectura de recibos con IA — la API Gemini, que recibe la foto del recibo para extraer sus campos (no usada para entrenar modelos).
- Apple Distribution International Ltd — Iniciar sesión con Apple (inicio de sesión en iOS) y App Store Billing (cobro de suscripciones en iOS).
- jsDelivr (Prospect One sp. z o.o.) — CDN global que sirve el fichero JSON CC0 de tipos de cambio del proyecto fawazahmed0/exchange-api.
- Cloudflare, Inc. — sirve la copia de respaldo (Cloudflare Pages) del mismo dataset CC0 de tipos de cambio.
- Hostinger International Ltd — aloja el sitio zenicash.com y los buzones support@ / privacy@.
- Google Ireland Ltd — Cloud Storage for Firebase: almacenamiento de los documentos que adjunta a los movimientos, en la región europe-west1 (a partir de la versión 1.5.0).
Las llamadas a los proveedores de tipos de cambio (open.er-api.com, jsDelivr, Cloudflare) llevan solo un código de divisa base de 3 letras — sin identificador de usuario ni datos financieros.
Notificamos a los usuarios cuando modificamos materialmente esta lista, antes de que el nuevo subencargado empiece a tratar datos.
8. Durante cuánto tiempo los conservamos
- Datos locales: hasta que los elimine en la app, desinstale o use Ajustes > Avanzado > Restablecer datos.
- Datos sincronizados: hasta que los elimine, limpie la copia en la nube en Ajustes > Cloud Sync > Limpiar datos de la nube, o elimine la cuenta.
- Tras eliminar la cuenta: los datos se borran inmediatamente del Firestore activo; los backups cifrados de Firebase caducan en 30 días.
- Registros de facturación: el estado mínimo de la suscripción (activa / cancelada / expirada e id del recibo de la tienda) se conserva hasta 10 años por obligación fiscal portuguesa.
- Correspondencia de soporte: los correos a support@ y privacy@ se conservan hasta 3 años por trazabilidad y luego se eliminan.
- Documentos adjuntos en la nube (a partir de la versión 1.5.0): se conservan mientras exista su cuenta. Si cancela la suscripción, los documentos ya enviados se conservan 12 meses más; transcurrido ese plazo se eliminan, y le avisamos por correo con al menos 30 días de antelación para que pueda descargarlos. Volver a suscribirse reinicia el plazo. Sus copias locales nunca se tocan.
9. Compartición
No vendemos, alquilamos ni compartimos sus datos personales o financieros con terceros con fines publicitarios. La compartición dentro de un espacio compartido solo ocurre donde usted la ha pedido, y se describe en la Sección 2.3b. Utilizamos los encargados listados en la Sección 7 para proporcionar la infraestructura descrita. Podemos divulgar datos cuando estemos legalmente obligados (p. ej. orden judicial vinculante) y, cuando sea legalmente posible, le notificaremos de tal solicitud.
10. Seguridad y notificación de brechas
Las conexiones con Firebase y con las APIs de tipos de cambio utilizan TLS. Cloud Firestore cifra los datos en reposo. En el dispositivo, la base de datos SQLite está protegida por el aislamiento de almacenamiento por aplicación del sistema operativo, y puede activar adicionalmente un PIN / bloqueo biométrico in-app en Ajustes > Seguridad. El propio PIN se almacena con hash salado (SHA-256).
Si tomamos conocimiento de una brecha de datos personales que pueda suponer un riesgo para sus derechos y libertades, notificaremos a la autoridad de control competente (en Portugal, la CNPD) en un plazo de 72 horas desde su conocimiento, según exige el Artículo 33 del RGPD. Si la brecha puede entrañar un alto riesgo para los usuarios afectados, también se lo comunicaremos sin demora indebida (Artículo 34).
11. Sus derechos
Si reside en la UE/EEE (RGPD) o en el Reino Unido, tiene derecho a acceder, rectificar, portar, restringir u oponerse al tratamiento de sus datos, así como a presentar una reclamación ante una autoridad de control. En Portugal la autoridad es la CNPD; en España, la AEPD. Si reside en Brasil (LGPD), tiene derechos análogos.
Puede ejercer la mayoría de ellos directamente dentro de la app:
- Acceso / portabilidad: Ajustes > Exportar (CSV / XLSX / PDF) — función Premium.
- Supresión de datos en la nube: Ajustes > Cloud Sync > Limpiar datos de la nube.
- Supresión de la propia cuenta: Ajustes > Cloud Sync > Eliminar cuenta, o siga la página pública de solicitud de eliminación.
- Borrado local: Ajustes > Avanzado > Restablecer datos.
Para cualquier solicitud que no podamos satisfacer en la app, escriba a privacy@zenicash.com. Respondemos en un plazo de 30 días.
12. Menores
ZeniCash es una herramienta para adultos y usuarios profesionales. No dirigimos el producto a usuarios menores de 16 años, ni recopilamos datos suyos a sabiendas. Si cree que un menor ha iniciado sesión, escriba a privacy@zenicash.com y eliminaremos la cuenta.
13. Cambios
Podemos actualizar esta política cuando la aplicación cambie. Los cambios materiales se anunciarán en la app y en esta página al menos 30 días antes de su entrada en vigor. La fecha "Última actualización" arriba refleja siempre la versión actual; las versiones anteriores pueden solicitarse por email.
14. Contacto
Responsable del tratamiento: Manor Systems, Unipessoal Lda — NIPC 519 377 753.
Solicitudes de privacidad y protección de datos:
privacy@zenicash.com.
Soporte general: support@zenicash.com.