Funciones Seguridad Números Cómo funciona Precios FAQ
Seguridad · AIccountant

Nos confías tu e.firma. Así la cuidamos.

AIccountant usa tus credenciales reales para entrar al SAT. Por eso existe esta página: qué hacemos con ese acceso, cómo está construido y qué nos falta todavía.

Lo esencial

Tres cosas que definen todo lo demás.

Cada empresa, su propia llave
Los datos sensibles se cifran con una llave distinta por empresa. Comprometer un cliente no compromete a los demás.
La llave maestra no vive en la base
Una copia de la base de datos, por sí sola, no descifra nada: la llave que abre las demás está fuera de ella.
Ningún dato fiscal va a un modelo de IA
No existe ninguna llamada a un proveedor de IA con tus CFDI, tu RFC ni tus declaraciones. Cero, no "anonimizado".
Cifrado

Cifrado de sobre: una llave abre otra llave.

Tu contraseña del SAT y tu e.firma no se guardan cifradas con una sola contraseña global. Usamos un esquema de dos niveles, el mismo patrón que emplean los servicios de llaves de las grandes nubes.

Nivel 1
Llave maestra (KEK)
32 bytes que viven fuera de la base de datos, en el entorno del proceso o en un archivo de secretos del servidor. Nunca se almacena junto a los datos que protege.
32 bytes · fuera de la BD
Nivel 2
Llave por empresa (DEK)
Cada empresa recibe 32 bytes aleatorios propios. Esa llave solo se guarda envuelta por la maestra, en una tabla aparte. Sin la maestra es un bloque inútil.
app.company_deks
Datos
Credenciales y archivos
Contraseña del SAT, e.firma y CSD se cifran con AES-256-GCM y un nonce de 96 bits nuevo en cada operación. GCM además detecta cualquier alteración del dato cifrado.
AES-256-GCM · nonce 96 bits
Nunca en texto plano
No existe una columna con tu contraseña legible ni un directorio con tus archivos .key y .cer abiertos. Se descifran en memoria, durante el trámite, y nada más.
Qué se borra y qué se conserva
Cuando un trámite obliga a escribir un archivo en disco —el SAT exige un archivo real para firmar— se materializa solo el tiempo del trámite y se elimina al terminar. Tus CFDI son distintos: sí los conservamos, cifrados con la llave de tu empresa, porque son los que ves en el panel desde cualquier lugar sin volver a descargarlos del SAT.
Controles en producción

Lo que ya está activo hoy.

Nada de esta lista está "en el roadmap". Todo corre en el sistema en este momento.

HTTPS forzado
Todo el tráfico va cifrado en tránsito, con HSTS para impedir conexiones degradadas.
Cifrado en reposo de la base
Además del cifrado por campo, el almacenamiento completo está cifrado.
Aislamiento por empresa
Cada consulta a la base queda acotada al usuario y la empresa de la sesión activa.
Protección anti-CSRF
Otra página no puede disparar acciones en tu cuenta aprovechando tu sesión abierta.
Confirmación de un solo uso
Una presentación ante el SAT exige un token que solo sirve una vez, después de que viste la vista previa.
Sesiones con expiración
Una sesión olvidada deja de ser válida sola, sin depender de que cierres sesión.
Límite de intentos
Rate limiting contra fuerza bruta, más Cloudflare Turnstile en acceso y registro.
Bitácora de acciones
Las operaciones relevantes quedan registradas, incluidas las exportaciones hechas por el equipo.
Cabeceras de seguridad
HSTS y Content-Security-Policy para limitar qué puede ejecutarse en el navegador.
Terceros

Quién más toca algo, y exactamente qué.

La lista completa. Si un proveedor no aparece aquí, no tiene contacto con tus datos.

SAT
El destinatario legítimo. Es a donde van tus credenciales para hacer el trámite que pediste.
Resend
Correo: códigos de acceso de un solo uso y entrega de los documentos que produce una automatización, como archivos adjuntos.
Cloudflare
Turnstile, la verificación anti-bot en acceso y registro, y Pages para este sitio de marketing.
Apple y Google
Notificaciones push (APNs y FCM). Solo avisos de estado: ningún contenido fiscal viaja en ellas.
Sobre inteligencia artificial
A pesar del nombre, ningún dato fiscal sale hacia un modelo de IA. No hay ninguna dependencia ni llamada a un proveedor de modelos en el flujo que maneja tus CFDI, tus declaraciones o tus credenciales. Lo que automatizamos es el trámite, no el juicio.
Acceso interno

Qué puede ver el equipo. Incluida la parte incómoda.

Operación normal
Existe un único rol administrativo. Su panel es de solo lectura y sirve para soporte y diagnóstico. Las exportaciones que hace quedan registradas en la bitácora, con quién y cuándo.
El límite real del modelo
Quien tenga a la vez la credencial de la base de datos y la llave maestra puede descifrar todo. No es un defecto oculto: es lo que implica cualquier sistema con aislamiento a nivel de sesión, y está documentado así en las reglas internas del proyecto. Preferimos escribirlo a fingir lo contrario.
Lo que no tenemos

Sin sellos que no nos hayamos ganado.

No tenemos certificación ISO ni SOC 2 todavía, y no las vamos a insinuar con un logo en el pie de página. Están en nuestra lista de pendientes, junto con segundo factor por aplicación: cuando pase, lo vas a ver aquí con fecha y alcance, no como logo. Hoy el acceso se protege con códigos de un solo uso por correo, verificación anti-bot y límite de intentos.

La seguridad es un proceso, no un estado. Cualquier afirmación de riesgo cero sería falsa.

Lo que sí hacemos
Auditamos el sistema por capas cada mes y dejamos por escrito lo que sale mal.
Hay tres auditorías internas documentadas, cada hallazgo con su gravedad y la ubicación exacta en el código. Vale más que un certificado porque es verificable y porque incluye lo que todavía está abierto.
3
auditorías escritas
Mensual
revisión por capas
Arquitectura

Poca superficie que proteger.

backend
Python con FastAPI
Un solo proceso ejecuta el sitio, las automatizaciones y la API. Menos piezas expuestas y un único lugar donde se aplican las reglas de acceso.
datos
PostgreSQL 16
Una sola base, cifrada en reposo, con el alcance de cada consulta atado a la empresa de la sesión y las llaves por empresa en su propia tabla.
cliente
React
La aplicación nunca guarda credenciales del SAT en el navegador ni las vuelve a mostrar después de registrarlas.
¿Tienes una pregunta que esta página no responde, o encontraste algo? Escríbenos, respondemos preguntas técnicas con detalle.
contacto@myaiccountant.com