🔒 Privacidad por diseño · el primer howware

Tus finanzas personales, sin app.

Importa tus estados de cuenta, categoriza, presupuesta y pregunta, todo en la conversación con tu agente de IA. Tu estado de cuenta no se le entrega a la IA: se lee en tu computadora y el agente trabaja con movimientos anonimizados. Todo es código abierto, para que lo compruebes.

Lectura y almacenamiento en tu computadora Código abierto y auditable Sin servidor ni cuenta Historial que no se borra
🔒 Privacidad por diseño

Tu estado de cuenta no se le entrega a la IA

Este proyecto nació de una pregunta: ¿cómo usar IA con tus finanzas sin entregarle tu identidad? Un estado de cuenta trae tu nombre, domicilio, RFC, tarjeta, CLABE y los datos de las personas a las que les transfieres. Por eso está construido para que se lea y se anonimice en tu computadora, y el agente trabaje con lo que queda. Aquí está qué hace cada pieza, qué no podemos garantizar y dónde está el código para que lo compruebes.

Diseñado para quedarse en tu computadora

  • El PDF del estado de cuenta
  • Tu nombre, domicilio, RFC y CURP
  • Números de tarjeta, de cuenta y CLABE
  • Nombres y cuentas de las personas a las que transfieres
  • Claves de rastreo, referencias y conceptos
  • Los estados de tus créditos e hipotecas, y los números de crédito o de contrato
  • El archivo de la memoria (el agente solo ve las respuestas a sus consultas)

Lo que la IA sí ve, para poder responderte

  • Comercio, monto y fecha de cada movimiento
  • Categorías, presupuestos y totales
  • Seudónimos en lugar de cuentas y personas: ACC_92d5, PERSONA_7f3a
  • El nombre del producto y los últimos 4 dígitos de la cuenta (se pueden omitir)
  • Con el módulo compromisos: el nombre que le pones a cada crédito, acreedor, tasa, pago, saldo, ingreso esperado y colchón
  • Lo que tú escribes en la conversación

Cómo está construido, y dónde comprobarlo

  1. El agente tiene prohibido abrir el PDFEl skill se lo prohíbe; solo mxbank lo lee, en tu máquina. Ver la regla →
  2. Lista cerrada de camposLa salida de mxbank no tiene ningún lugar donde quepa tu nombre o tu domicilio. Ver el modelo →
  3. Si sospecha, no entrega nadaUn escáner revisa el resultado completo: CLABE, tarjeta, RFC, CURP, correo y las palabras de tu nombre y domicilio. Ver el escáner →
  4. Seudónimos con tu llaveLas personas a las que transfieres se vuelven PERSONA_… con una llave que solo tú tienes. Ver el código →
  5. Sin servidor ni conexionesmxbank, fin.py y la memoria no abren conexiones de red; las pruebas de mxbank fallan si algo lo intenta. Ver la prueba →
  6. El repositorio tiene una guardiaCI rechaza PDFs, bases de datos e identificadores personales en cualquier archivo. Ver la guardia →

Lo que no podemos garantizar

  • La anonimización automática no es infalible. Un formato nuevo del banco o un error de software podrían dejar pasar un dato; mxbank prefiere no entregar nada ante la duda.
  • La regla de no abrir el PDF es una instrucción al agente. En Claude Code se refuerza con un permiso que le niega leer PDFs, pero no es una barrera absoluta.
  • Lo que el agente sí ve sale de tu computadora. Comercios, montos, fechas, seudónimos y tus mensajes llegan a tu proveedor de IA, bajo sus términos.
  • La memoria no está cifrada. Protégela como cualquier archivo personal.
  • Los pronósticos son estimaciones. Saldos y fechas de término del módulo compromisos pueden diferir de los del acreedor; los oficiales son los suyos. No es asesoría financiera.

Código abierto, para que lo revises

No te pedimos confianza: te pedimos que lo revises. Las tres piezas son Apache 2.0 y pequeñas a propósito; fin.py son unas 600 líneas sin dependencias y el protocolo del agente es un archivo de texto.

Una app de finanzas es cuatro cosas

Captura, una base de datos, reglas y pantallas. Con un agente de IA, la interfaz es la conversación y el resto son herramientas locales pequeñas que el agente usa por ti.

Captura
↓

mxbank

Lee el PDF del banco en tu máquina y entrega movimientos sin nombre, RFC, tarjeta ni CLABE.

Base de datos
↓

Memoria persistente

Un archivo SQLite local que solo agrega: cada cambio queda con fecha, evidencia y autor.

Reglas
↓

Skill finanzas-personales

Categorías, presupuestos, qué no es gasto, pagos de tarjeta, cierre de mes y, si lo activas, tus compromisos.

Pantallas
↓

La conversación

Preguntas en tus palabras; el agente consulta, calcula y te responde.

Cómo funciona

El mes típico, de principio a fin, sin abrir ninguna app.

Descargas tus estados

Los PDF del banco van a una carpeta tuya, fuera de git.

El agente los importa

mxbank los lee y fin.py los guarda. Reimportar no duplica.

Apruebas categorías

Solo te pregunta por comercios nuevos; lo demás ya lo sabe.

Preguntas

Gasto por categoría, presupuesto, pagos pendientes, intereses, suscripciones.

Cierras el mes

Revisión guiada, comparación con el mes anterior y respaldo.

Lo que hace una app de finanzas, aquí

Las funciones que más se usan, resueltas con herramientas que puedes leer y auditar.

Importa estados de cuenta

BBVA débito y crédito y BanCoppel débito, en cualquier orden y sin duplicar.

Categorías que aprenden

Corriges un comercio una vez y todo su historial se reclasifica, sin reescribir nada.

Efectivo en una frase

«Ayer gasté 180 en la fonda.» Queda registrado con tus palabras como evidencia.

Presupuestos por mes

Por categoría o subcategoría, con historia: el de enero sigue siendo el de enero.

Pagos de tarjeta

Fecha límite y pago para no generar intereses al iniciar cada sesión; se cierran solos al llegar el pago.

Reportes al momento

Gasto por categoría, mes contra mes, meses sin intereses vigentes, intereses y comisiones.

Módulo opcional: ver hacia adelante

Como el revenue management de un hotel: presupuesto, real y pronóstico, con la diferencia a tiempo para corregir. Por semana, mes, trimestre, semestre y año. Se activa solo si lo pides.

  • Tus créditos e hipotecas, con tasa o solo con su calendario de pagos, y lo que ya tienes comprometido en compras a meses.
  • Ingreso esperado, también en dólares, y qué pasa si cambia el tipo de cambio.
  • El colchón va primero; el abono extra sale solo de lo que sobra, y puede ser $0.
  • Un plan de liquidación (avalancha o bola de nieve) que se reajusta, no se rompe: un mes de mínimo por una emergencia es parte del plan.
  • Cascadas: si pagas la hipoteca con tarjeta y la tarjeta no se cubre completa, ese pago pasa a la tasa de la tarjeta. Te lo avisa.

Categorías: base fija, detalle tuyo

Doce categorías principales que no cambian, para poder comparar meses. Las subcategorías y las reglas por comercio se arman solas conforme importas, y tú las apruebas.

ViviendaAlimentaciónTransporteSaludEducaciónEntretenimientoSuscripcionesCompras personalesCostos financierosIngresosOtrosMovimientos internos

Los movimientos internos (pago a tu tarjeta, traspasos entre tus cuentas, retiros, traslados a meses) se excluyen solos de los reportes: no son gasto.

Tres herramientas abiertas y auditables

Cada una sirve sola; juntas reemplazan una app de finanzas. Todas son código abierto bajo Apache 2.0.

Captura

mxbank

Estados de cuenta de bancos mexicanos en PDF a JSON anonimizado y conciliado, con ids estables entre meses.

howware/mx-bank-statement-reader →
Almacén

Long-Term Memory for AI

Memoria persistente para agentes: hechos con vigencia, eventos, consultas sin SQL y respaldo verificado.

howware/long-term-memory-for-AI →
Reglas

finanzas-personales

El skill que une las dos: importador, categorías, presupuestos, pagos de tarjeta, reportes y el módulo opcional compromisos.

howware/finanzas-personales →

Instalación

Requiere Python 3.9+ (3.12+ para mxbank) y uv. Funciona en Windows, macOS y Linux.

1 · mxbank

git clone https://github.com/howware/mx-bank-statement-reader
cd mx-bank-statement-reader && uv tool install .

2 · Memoria persistente

git clone https://github.com/howware/long-term-memory-for-AI
python long-term-memory-for-AI/tools/install_skill.py \
  --target ~/.claude/skills/project-memory

3 · Este skill

git clone https://github.com/howware/finanzas-personales
python finanzas-personales/tools/install_skill.py

4 · Una llave privada y fija

Define la variable de entorno MXBANK_KEY con un valor aleatorio largo y respáldala en tu gestor de contraseñas. Mantiene estables los seudónimos y los ids entre meses.

5 · Tu carpeta de finanzas

Crea una carpeta, abre ahí Claude Code y escribe:

Quiero llevar mis finanzas aquí.

El agente crea la memoria, carga las categorías y te pide tus primeros estados de cuenta.

Herramienta de organización personal, sin garantías. No es asesoría financiera, fiscal ni legal; verifica las cifras contra tus estados de cuenta.