Política de privacidad

Privacy policy

Privacidad clara para una app de finanzas con backup automático y funciones opcionales.

Clear privacy terms for a finance app with automatic backup and optional features.

Esta política describe cómo Kora accede, usa, almacena y comparte datos cuando usas la app en Android o iPhone.

This policy explains how Kora accesses, uses, stores, and shares data when you use the app on Android or iPhone.

Enfoque local

Local-first

Tus cuentas, categorías, transacciones, presupuestos, pagos programados y transferencias se guardan principalmente en tu dispositivo.

Your accounts, categories, transactions, budgets, scheduled payments, and transfers are primarily stored on your device.

Backup automático

Automatic backup

Kora requiere una cuenta para funcionar y respalda tus datos automáticamente en tu sesión autenticada.

Kora requires an account to work and automatically backs up your data to your authenticated session.

Automatización opcional

Optional automation

La detección de pagos desde Wallet y SMS en Android, el escaneo de recibos por foto, la captura de gastos por voz y la sugerencia de categoría con IA son funciones opcionales.

Wallet and SMS payment detection on Android, receipt photo scanning, voice expense capture, and AI category suggestion are optional features.

Controles de borrado

Deletion controls

Desde la app puedes exportar datos, restaurar copias, cerrar sesión, eliminar tus datos locales, borrar el backup remoto y eliminar definitivamente tu cuenta de Kora cuando uses backup en la nube.

From the app you can export data, restore backups, sign out, delete local data, remove the remote backup, and permanently delete your Kora account when you use cloud backup.

01

Fecha de entrada en vigor

Última actualización: 26 de mayo de 2026.

02

Resumen

Kora es una app de finanzas personales. Su función principal es permitirte registrar y consultar información financiera en tu dispositivo. Algunas funciones adicionales usan servicios de terceros o permisos del sistema, pero solo cuando son necesarias o cuando decides activarlas.

Aquí te explicamos de forma simple qué datos usa la app, para qué los usa, cuándo pueden compartirse con proveedores tecnológicos y qué controles tienes para gestionar tu información.

03

Datos que tratamos

Datos financieros que ingresas

Cuentas, saldos, categorías, transacciones, presupuestos, pagos programados, transferencias y descripciones de movimientos.

Estos datos se guardan localmente en la base de datos de la app y se respaldan automáticamente en Firebase Storage asociado a tu cuenta autenticada.

Configuración de la app

Idioma, formato numérico, moneda, tema, recordatorios diarios y opciones de automatización de Wallet.

La copia de seguridad en la nube incluye idioma, formato numérico, moneda y tema.

Datos de cuenta y autenticación

Para usar Kora necesitas una cuenta. La autenticación se realiza con Firebase Authentication, que admite inicio de sesión con Google en Android/iOS, Sign in with Apple en iOS y email/contraseña en ambas plataformas.

En ese flujo pueden tratarse tu identificador de usuario, tu correo electrónico y, si te registras con email/contraseña, el hash de la contraseña gestionado por Firebase.

Si eliminas definitivamente tu cuenta desde la app, se solicita la eliminación de tu cuenta de Kora en Firebase Authentication y del backup remoto asociado. Esto no elimina tu cuenta de Google o Apple.

Datos de suscripción (Kora Pro)

Si compras o activas un plan Kora Pro, la gestión de la suscripción se realiza con RevenueCat. Pueden tratarse tu identificador de usuario, el estado del entitlement, el identificador del producto, los recibos de compra y eventos de renovación o cancelación.

El cobro lo procesan Google Play Billing en Android y la App Store de Apple en iOS según sus propios términos. Kora no recibe ni almacena tus datos de tarjeta o método de pago.

Analítica de uso

La app registra eventos de producto con Firebase Analytics y Amplitude, por ejemplo creación, edición o eliminación de cuentas, categorías, presupuestos, transacciones, transferencias y pagos programados.

Para reducir exposición de datos, estos eventos usan indicadores y rangos aproximados; no están pensados para enviar descripciones libres ni montos exactos. Amplitude recibe los eventos vinculados a un identificador anónimo de instalación.

Diagnóstico técnico e integridad

La app usa Firebase Crashlytics para registrar fallos, errores no controlados y diagnósticos técnicos necesarios para estabilidad y soporte.

Para proteger las llamadas a los servicios de backend, la app usa Firebase App Check con Play Integrity en Android y DeviceCheck o App Attest en iOS. Estos servicios atestan la integridad del dispositivo y de la app, sin enviar el contenido de tus datos financieros.

Seguridad local

Si activas bloqueo de app, se almacenan localmente el estado del bloqueo, la preferencia de biometría y un hash del PIN con salt en almacenamiento seguro del dispositivo.

La app no accede a tu plantilla biométrica; esa validación la gestiona el sistema operativo.

Notificaciones y recordatorios

Si concedes permiso de notificaciones, la app puede programar recordatorios diarios y avisos relacionados con pagos programados.

Automatización de Wallet en Android

Si activas el acceso a notificaciones para detectar pagos desde Wallet, la app puede leer el nombre del comercio, el monto detectado, la app de origen, marcas de tiempo y el texto bruto de la notificación para proponerte un gasto pendiente de revisión.

Esa información se guarda en tu dispositivo para que puedas revisarla antes de convertirla en una transacción.

Detección de pagos por SMS en Android

Si activas la detección de pagos por SMS, la app lee mensajes que parecen contener información de pagos (remitente, contenido del mensaje y marca de tiempo) y los envía a servicios de IA de Google/Firebase para extraer monto, comercio y fecha y proponerte un gasto pendiente de revisión.

El gasto pendiente se guarda en tu dispositivo hasta que lo apruebes, lo rechaces o elimines los datos. La app no almacena el SMS original ni lo incluye en el backup en la nube.

Escaneo de recibos por foto

Si activas el escaneo de recibos, la app accede a la cámara para capturar la imagen y la envía a servicios de IA de Google/Firebase para extraer monto, comercio y fecha, y proponerte un gasto pendiente de revisión.

La imagen se procesa de forma transaccional: la app no la guarda y no se incluye en el backup en la nube.

Captura de gastos por voz

Si activas la captura por voz, la app accede al micrófono para capturar lo que dictas. La transcripción a texto la realiza el servicio de reconocimiento de voz del sistema operativo (Apple en iOS, Google en Android) según sus propias políticas.

Kora no almacena el audio. La transcripción resultante se procesa para extraer monto, descripción y categoría sugerida, y se muestra como gasto pendiente de revisión antes de convertirlo en una transacción.

Sugerencia de categoría con IA en Android

Si además activas la categorización con IA, la app envía a servicios de IA de Google/Firebase el nombre del comercio, el monto mostrado, el texto de la notificación y tu lista de categorías disponibles para sugerirte una categoría.

Datos de widget

Si usas el widget, la app comparte localmente con el sistema un resumen visual del mes, como la etiqueta del período y el total mostrado en el widget.

04

Cómo usamos los datos

  • Mostrar y organizar tu información financiera dentro de la app.
  • Crear copias locales de respaldo y restaurarlas cuando tú lo solicites.
  • Respaldar tu información en Firebase Storage de forma automática mientras tienes sesión iniciada.
  • Permitir autenticación con Google, Apple o email/contraseña para asociar la app y el backup a tu cuenta.
  • Mejorar estabilidad y solucionar fallos mediante Crashlytics.
  • Entender el uso general del producto mediante eventos de Analytics orientados a producto y no a publicidad personalizada.
  • Programar recordatorios locales y procesar pagos programados.
  • En Android, detectar pagos desde notificaciones de Wallet y desde mensajes SMS, y sugerir categorías, cuando activas esas funciones.
  • Procesar fotos de recibos con IA para extraer monto, comercio y fecha y proponerte un gasto pendiente de revisión, cuando activas esa función.
  • Permitir registrar gastos por voz transcribiéndolos con el servicio de reconocimiento de voz del sistema operativo, cuando activas esa función.
  • Gestionar la suscripción Kora Pro a través de RevenueCat y los procesadores de pago de Google Play y App Store.
  • Verificar la integridad de la app y del dispositivo al llamar a servicios de backend mediante Firebase App Check.
  • Proteger la apertura de la app con PIN, biometría y medidas visuales de privacidad.
05

Cuándo compartimos datos

No vendemos tus datos personales.

Podemos compartir datos con proveedores tecnológicos en estos casos:

  • Google / Firebase: Authentication, Google Sign-In, Storage, Analytics, Crashlytics, Firebase AI y Firebase App Check (Play Integrity en Android), cuando la función correspondiente está activa o es necesaria para la operación del servicio.
  • Apple: Sign in with Apple en iOS, DeviceCheck o App Attest para integridad, además de APIs del sistema para biometría, notificaciones, reconocimiento de voz y widgets.
  • Amplitude (Amplitude, Inc.): analítica de producto. Recibe eventos de uso vinculados a un identificador anónimo de instalación.
  • RevenueCat (RevenueCat, Inc.): gestión de la suscripción Kora Pro. Recibe el identificador de usuario, el estado del entitlement y los recibos de compra emitidos por Apple o Google.
  • Google Play Billing y App Store de Apple: procesamiento del pago de la suscripción Kora Pro conforme a sus propios términos. Kora no recibe los datos de tarjeta ni de método de pago.
  • Servicios del sistema operativo: para recordatorios, widgets, almacenamiento seguro, reconocimiento de voz y control visual de privacidad.

No usamos la información recogida por la app para vender perfiles publicitarios ni para publicidad conductual de terceros.

06

Permisos y funciones opcionales

  • Notificaciones: se usan para recordatorios diarios y avisos de pagos programados.
  • Acceso a notificaciones en Android: solo es necesario para la detección opcional de pagos de Wallet.
  • Lectura de SMS en Android: solo se usa si activas la detección de pagos por SMS.
  • Cámara: solo se usa si activas el escaneo de recibos por foto.
  • Micrófono: solo se usa si activas la captura de gastos por voz; la transcripción la realiza el sistema operativo y la app no guarda el audio.
  • Biometría: solo se usa si activas desbloqueo biométrico.
  • Cuenta de usuario: se requiere para usar Kora; puedes registrarte con Google, Apple o email/contraseña.
07

Retención y eliminación

  • Los datos financieros locales se conservan en el dispositivo hasta que los elimines, restaures otra copia o desinstales la app.
  • El backup remoto se conserva en Firebase Storage hasta que lo elimines desde los controles de la app. Cerrar sesión detiene el acceso desde ese dispositivo, pero no elimina automáticamente una copia remota ya existente.
  • Si eliminas definitivamente tu cuenta desde la app, se solicita el borrado de la cuenta autenticada de Kora y del backup remoto asociado. Esto no elimina tu cuenta de Google o Apple.
  • Si usas el flujo de eliminación total de datos con sesión de backup activa, la app intenta borrar primero el backup remoto y luego limpiar los datos locales.
  • Los datos de detección de Wallet y de SMS pendientes de revisión se conservan localmente hasta que los apruebes, rechaces o elimines los datos de la app. La app no almacena el SMS original.
  • Las fotos de recibos no se almacenan: se procesan de forma transaccional y no se incluyen en el backup en la nube.
  • Analytics y Crashlytics pueden conservarse según las políticas y periodos de retención del proveedor correspondiente.
08

Tus controles y opciones

  • Puedes activar o desactivar recordatorios y permisos de notificaciones.
  • En Android, puedes activar o desactivar la detección de pagos desde Wallet.
  • En Android, puedes activar o desactivar la detección de pagos por SMS.
  • Puedes activar o desactivar el escaneo de recibos por foto.
  • En Android, puedes activar o desactivar la sugerencia de categoría con IA.
  • Puedes activar o desactivar el bloqueo con PIN y el desbloqueo biométrico.
  • Puedes exportar una copia local de tus datos desde la app.
  • Puedes restaurar una copia local seleccionando un archivo de backup.
  • Si usas backup en la nube, puedes iniciar sesión, subir una copia, restaurarla, cerrar sesión o eliminar definitivamente tu cuenta de Kora desde la app.
  • Puedes eliminar todos tus datos locales desde la configuración de la app.
09

Medidas de seguridad

  • Uso de almacenamiento seguro del dispositivo para datos de seguridad local.
  • Hash del PIN con salt, en lugar de guardar el PIN en texto plano.
  • Reglas de Firebase Storage que restringen acceso al usuario autenticado.
  • Verificación de integridad de la app y del dispositivo mediante Firebase App Check (Play Integrity en Android y DeviceCheck o App Attest en iOS) al llamar a servicios de backend.
  • Protección visual de la app al pasar a segundo plano mediante pantalla segura o desenfoque, según plataforma.
10

Transferencias internacionales

Si usas funciones respaldadas por Google, Firebase, Apple, Amplitude o RevenueCat, parte del tratamiento de datos puede realizarse en infraestructura ubicada fuera de tu país de residencia, conforme a las políticas y medidas de esos proveedores.

11

Privacidad de menores

Kora no está diseñada específicamente para menores. Si crees que se ha proporcionado información personal de un menor en contra de la normativa aplicable, contáctanos para revisarlo.

12

Cambios a esta política

Podemos actualizar esta política para reflejar cambios en la app, en los servicios de terceros o en obligaciones legales. Publicaremos la versión vigente en esta misma URL con una fecha de actualización revisada.

13

Contacto

Contacto de privacidad y soporte: stoneframe.apps@gmail.com

01

Effective date

Last updated: May 26, 2026.

02

Summary

Kora is a personal finance app. Its main purpose is to let you record and review financial information on your device. Some additional features use third-party services or system permissions, but only when required or when you decide to enable them.

This page explains in plain language what data the app uses, why it uses it, when it may be shared with technology providers, and what controls you have over your information.

03

Data we process

Financial data you enter

Accounts, balances, categories, transactions, budgets, scheduled payments, transfers, and transaction descriptions.

This data is stored locally in the app database and is automatically backed up to Firebase Storage tied to your authenticated account.

App settings

Language, number format, currency, theme, daily reminders, and Wallet automation settings.

Cloud backup includes language, number format, currency, and theme.

Account and authentication data

To use Kora you need an account. Authentication is handled by Firebase Authentication, which supports Google Sign-In on Android/iOS, Sign in with Apple on iOS, and email/password on both platforms.

In that flow, your user identifier, email address, and — if you register with email/password — the password hash managed by Firebase may be processed.

If you permanently delete your account from the app, deletion of your Kora account in Firebase Authentication and its associated remote backup is requested. This does not delete your Google or Apple account.

Subscription data (Kora Pro)

If you purchase or activate a Kora Pro plan, subscription management is handled with RevenueCat. Your user identifier, entitlement status, product identifier, purchase receipts, and renewal or cancellation events may be processed.

Payment is processed by Google Play Billing on Android and the Apple App Store on iOS under their own terms. Kora does not receive or store your card or payment-method details.

Usage analytics

The app logs product events with Firebase Analytics and Amplitude, such as creating, editing, or deleting accounts, categories, budgets, transactions, transfers, and scheduled payments.

To reduce data exposure, these events use indicators and approximate ranges; they are not intended to send free-text descriptions or exact monetary amounts. Amplitude receives the events tied to an anonymous install identifier.

Technical diagnostics and integrity

The app uses Firebase Crashlytics to record crashes, unhandled errors, and technical diagnostics needed for stability and support.

To protect calls to backend services, the app uses Firebase App Check with Play Integrity on Android and DeviceCheck or App Attest on iOS. These services attest the integrity of the device and the app without sending the contents of your financial data.

Local security data

If you enable app lock, the lock state, biometric preference, and a salted PIN hash are stored locally in secure device storage.

The app does not access your biometric template; that validation is handled by the operating system.

Notifications and reminders

If you grant notification permission, the app can schedule daily reminders and notifications related to scheduled payments.

Wallet automation on Android

If you enable notification access to detect Wallet payments, the app may read the merchant name, detected amount, source app, timestamps, and raw notification text to propose a pending expense for your review.

This information is stored on your device so you can review it before turning it into a transaction.

SMS payment detection on Android

If you enable SMS payment detection, the app reads messages that appear to contain payment information (sender, message body, and timestamp) and sends them to Google/Firebase AI services to extract amount, merchant, and date, and propose a pending expense for your review.

The pending expense is stored on your device until you approve it, reject it, or clear app data. The app does not store the original SMS or include it in cloud backup.

Receipt photo scanning

If you enable receipt scanning, the app accesses the camera to capture the image and sends it to Google/Firebase AI services to extract amount, merchant, and date, and propose a pending expense for your review.

The image is processed transactionally: the app does not store it and it is not included in cloud backup.

Voice expense capture

If you enable voice capture, the app accesses the microphone to capture what you dictate. Speech-to-text transcription is performed by the operating system's speech recognition service (Apple on iOS, Google on Android) under their own policies.

Kora does not store the audio. The resulting transcription is processed to extract amount, description, and a suggested category, and is shown as a pending expense for your review before becoming a transaction.

AI category suggestion on Android

If you also enable AI categorization, the app sends the merchant name, displayed amount, notification text, and your list of available categories to Google/Firebase AI services to obtain a category suggestion.

Widget data

If you use the widget, the app shares a local monthly summary with the system, such as the period label and total displayed in the widget.

04

How we use data

  • To display and organize your financial information inside the app.
  • To create local backups and restore them when you ask us to.
  • To automatically back up your information to Firebase Storage while you are signed in.
  • To authenticate with Google, Apple, or email/password and associate the app and backup with your account.
  • To improve stability and troubleshoot issues through Crashlytics.
  • To understand general product usage through Analytics events meant for product improvement, not third-party advertising.
  • To schedule local reminders and process scheduled payments.
  • On Android, to detect payments from Wallet notifications and from SMS messages, and to suggest categories, when you enable those features.
  • To process receipt photos with AI to extract amount, merchant, and date and propose a pending expense for your review, when you enable that feature.
  • To allow logging expenses by voice by transcribing them with the operating system's speech recognition service, when you enable that feature.
  • To manage the Kora Pro subscription through RevenueCat and the Google Play and App Store payment processors.
  • To verify the integrity of the app and the device when calling backend services through Firebase App Check.
  • To protect access to the app with PIN, biometrics, and privacy screen measures.
05

When we share data

We do not sell your personal data.

We may share data with technology providers in these cases:

  • Google / Firebase: Authentication, Google Sign-In, Storage, Analytics, Crashlytics, Firebase AI, and Firebase App Check (Play Integrity on Android) when the related feature is active or needed for the service to operate.
  • Apple: Sign in with Apple on iOS, DeviceCheck or App Attest for integrity, plus system APIs for biometrics, notifications, speech recognition, and widgets.
  • Amplitude (Amplitude, Inc.): product analytics. Receives usage events tied to an anonymous install identifier.
  • RevenueCat (RevenueCat, Inc.): management of the Kora Pro subscription. Receives the user identifier, the entitlement status, and purchase receipts issued by Apple or Google.
  • Google Play Billing and Apple App Store: payment processing for the Kora Pro subscription under their own terms. Kora does not receive card or payment-method data.
  • Operating system services: for reminders, widgets, secure storage, speech recognition, and visual privacy controls.

We do not use data collected by the app to sell advertising profiles or for third-party behavioral advertising.

06

Permissions and optional features

  • Notifications: used for daily reminders and scheduled payment alerts.
  • Notification access on Android: only required for optional Wallet payment detection.
  • SMS read access on Android: only used if you enable SMS payment detection.
  • Camera: only used if you enable receipt photo scanning.
  • Microphone: only used if you enable voice expense capture; transcription is handled by the operating system and the app does not store the audio.
  • Biometrics: only used if you enable biometric unlock.
  • User account: required to use Kora; you can register with Google, Apple, or email/password.
07

Retention and deletion

  • Local financial data stays on your device until you delete it, restore another backup, or uninstall the app.
  • Remote backup remains in Firebase Storage until you delete it from the app controls. Signing out stops access from that device, but it does not automatically delete an existing remote backup.
  • If you permanently delete your account from the app, deletion of the authenticated Kora account and its associated remote backup is requested. This does not delete your Google or Apple account.
  • If you use the full data deletion flow while a cloud backup session is active, the app attempts to delete the remote backup first and then clears local data.
  • Wallet and SMS detection items pending review stay local until you approve them, reject them, or clear app data. The app does not store the original SMS.
  • Receipt photos are not stored: they are processed transactionally and are not included in cloud backup.
  • Analytics and Crashlytics data may be retained according to the applicable provider policies and retention periods.
08

Your controls and choices

  • You can enable or disable reminders and notification permissions.
  • On Android, you can enable or disable Wallet payment detection.
  • On Android, you can enable or disable SMS payment detection.
  • You can enable or disable receipt photo scanning.
  • On Android, you can enable or disable AI category suggestion.
  • You can enable or disable PIN lock and biometric unlock.
  • You can export a local backup of your data from the app.
  • You can restore a local backup by selecting a backup file.
  • If you use cloud backup, you can sign in, upload a backup, restore it, sign out, or permanently delete your Kora account from the app.
  • You can delete all local data from the app settings.
09

Security measures

  • Use of secure device storage for local security data.
  • Salted PIN hashing instead of storing the PIN in plain text.
  • Firebase Storage rules that restrict access to the authenticated user.
  • App and device integrity verification through Firebase App Check (Play Integrity on Android and DeviceCheck or App Attest on iOS) when calling backend services.
  • Visual privacy protection when the app moves to the background through secure-screen or blur behavior, depending on platform.
10

International transfers

If you use features powered by Google, Firebase, Apple, Amplitude, or RevenueCat, some data processing may occur on infrastructure located outside your country of residence, subject to the applicable provider policies and safeguards.

11

Children's privacy

Kora is not specifically designed for children. If you believe personal data from a child has been provided in violation of applicable law, contact us so we can review the matter.

12

Changes to this policy

We may update this policy to reflect changes in the app, third-party services, or legal obligations. The current version will be published at this same URL with a revised update date.

13

Contact

Privacy and support contact: stoneframe.apps@gmail.com