Privacy Policy / Aviso de Privacidad
Last updated: December 28, 2025 / Última actualización: 28 de diciembre de 2025
English Version
1. Introduction & Data Controller
validacfdi.com (hereinafter "the Controller" or "ValidaCFDI"), with address at Altavista 102, San Angel, CDMX, 01000, Mexico, is responsible for the use and protection of your personal data. This Privacy Policy applies to our web application, API, Zapier integration, and Google Sheets add-on.
Contact: contacto@valida-cfdi.com.mx
Effective Date: December 28, 2025
2. Data We Collect
To provide our services, we collect and process the following categories of personal data:
Personal Information
- Email address: For account creation, authentication, and communications
- Full name: For identification and personalization
- Company name: For business account management
- Phone number: Optional, for support purposes
Authentication Data
- Passwords: Stored as bcrypt hashes, never in plain text
- JWT tokens: Access tokens (15-minute expiry) and refresh tokens (7-day expiry)
- API keys: Stored as bcrypt hashes with
vck_prefix format for Zapier and Google Sheets integrations
Validation Data
- CFDI UUIDs: Unique identifiers of electronic invoices you validate
- RFC numbers: Tax identification numbers (issuer and receiver) from CFDIs
- Invoice amounts: Total amounts from validated CFDIs
- Validation timestamps: Date and time of each validation request
- SAT status results: Validation outcomes (Valid, Cancelled, Not Found)
- EFOS risk scores: Blacklist risk percentages for RFCs
Usage Data
- API call logs: Request endpoints, timestamps, response codes
- Validation history: Record of your validation activities for quota tracking
- Quota usage: Number of validations used per month
- Error logs: Sanitized error messages for debugging (no PII, no file paths)
Payment Information
- Stripe customer ID: Reference to your Stripe account for billing
- Subscription status: Plan tier (Free, Professional, Enterprise), billing cycle, payment status
- Note: Credit card details are stored by Stripe only, never by ValidaCFDI
Integration Data
- Zapier connections: Record of active Zapier integrations using your API key
- Google Sheets installations: Record of Google Sheets add-on usage
3. How We Use Your Data
We use your personal data for the following purposes:
- CFDI Validation Services: Extract data from PDF invoices using Mindee OCR API and validate CFDIs using SW Sapien PAC (Proveedor Autorizado de Certificación)
- RFC Risk Verification: Check RFC numbers against official SAT EFOS (Empresas Facturantes de Operaciones Simuladas) and EDOS (Empresas que Deducen Operaciones Simuladas) blacklists
- Vendor Monitoring & Alerts: Track RFC status changes and send notifications (Professional and Enterprise plans only)
- Authentication & Authorization: Manage user sessions, API access, and role-based permissions
- Subscription Management: Process payments, manage plan upgrades/downgrades, and handle billing via Stripe
- API Access: Enable integrations with Zapier and Google Sheets for workflow automation
- Service Improvements: Analyze usage patterns to improve performance and features
- Customer Support: Respond to inquiries, troubleshoot issues, and provide technical assistance
- Communications: Send transactional emails (password resets, subscription updates) and optional promotional emails
4. Third-Party Services
ValidaCFDI integrates with the following third-party services to provide our functionality. Each service operates under its own privacy policy, and ValidaCFDI is not responsible for their data practices.
Mindee OCR API
- Purpose: Extract data from PDF invoices (UUIDs, RFCs, amounts, dates)
- Data shared: PDF files uploaded by you
- Data received: Extracted text and structured data with confidence scores
- Privacy Policy: https://mindee.com/privacy
SW Sapien Validator
- Purpose: Official PAC validation against SAT database
- Data shared: CFDI UUID, RFC Emisor, RFC Receptor, Total amount
- Data received: SAT validation status (Vigente, Cancelado, No Encontrado)
- Privacy Policy: https://www.sw.com.mx/aviso-de-privacidad
Stripe
- Purpose: Payment processing and subscription management
- Data shared: Email, full name, company name for billing
- Data received: Payment confirmations, subscription events
- Note: Credit card details are entered directly on Stripe's secure forms, never seen by ValidaCFDI
- Privacy Policy: https://stripe.com/privacy
Resend
- Purpose: Email delivery for transactional and notification emails
- Data shared: Email address, full name, email content
- Privacy Policy: https://resend.com/legal/privacy-policy
Sentry
- Purpose: Error tracking and application monitoring
- Data shared: Sanitized error logs (PII filtered, no file paths, no SQL queries)
- Privacy Policy: https://sentry.io/privacy/
Redis Cloud
- Purpose: Temporary caching of validation results for performance optimization
- Data stored: Validation results only (CFDI data, SAT status, EFOS scores)
- Retention: 24-hour automatic expiry (TTL)
Zapier Platform
- Purpose: Enable workflow automation with 5,000+ apps
- Data flow: When you connect ValidaCFDI to Zapier, validation data flows to your Zaps according to your configuration
- Your responsibility: You control what data flows to which apps through your Zap setup
- Privacy Policy: https://zapier.com/privacy
Google Sheets API
- Purpose: Enable spreadsheet-based validation through our Google Sheets add-on
- Data flow: When you install the add-on, validation results populate your spreadsheets according to your usage
- Your responsibility: You control spreadsheet sharing and access permissions
- Privacy Policy: https://policies.google.com/privacy
5. Data Retention & Caching
We retain your data for different periods depending on the type of information and legal requirements:
- Validation Results (Cache): Stored in Redis for 24 hours, then automatically deleted. This improves performance by avoiding redundant API calls.
- User Accounts: Retained while your account is active. Deleted within 30 days of account deletion request.
- Validation History: Retained for 12 months for quota tracking and customer support purposes. Older records are automatically purged.
- API Keys: Stored as bcrypt hashes while active. Revoked keys are deleted immediately from the database.
- Payment Records: Retained for 7 years per Mexican tax law (Código Fiscal de la Federación, Article 30).
- Error Logs: Retained for 90 days for debugging and service improvement, then automatically deleted.
- EFOS Database: Updated weekly from SAT public data. Historical records retained indefinitely for trend analysis and compliance tracking.
6. Data Security
We implement comprehensive security measures to protect your personal data:
Encryption
- In Transit: All data transmitted over HTTPS/TLS 1.3 with modern cipher suites
- At Rest: Passwords and API keys hashed with bcrypt (cost factor 12)
- Database: PostgreSQL with encrypted backups
Authentication & Access Control
- JWT Tokens: Access tokens expire after 15 minutes, refresh tokens after 7 days
- Session Management: Automatic session invalidation on password change (all devices logged out)
- Role-Based Access Control: Admin RBAC with
is_adminflag for administrative functions - API Key Authentication: Hashed keys with secure validation for Zapier/Google Sheets integrations
Infrastructure Security
- Database: PostgreSQL on Render with automated encrypted backups
- Cache: Redis with automatic expiry and no persistent storage
- Hosting: Render (backend) and Vercel (frontend) with DDoS protection
Application Security
- Security Headers: HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
- Input Validation: Request size limits (10MB PDF, 5MB CSV, 1MB JSON)
- Error Sanitization: No file paths, SQL queries, or sensitive data in error messages
- Monitoring: Sentry error tracking with PII filtering
No Sensitive Storage
- Credit card details are stored by Stripe only, never by ValidaCFDI
- Passwords are hashed with bcrypt before storage, never stored in plain text
- API keys are hashed before storage, displayed only once at creation
7. Your Rights
For Mexican Users (LFPDPPP Compliance)
Under Mexico's Federal Law for the Protection of Personal Data Held by Private Parties (Ley Federal de Protección de Datos Personales en Posesión de los Particulares), you have the following ARCO rights:
- Acceso (Access): Request information about what personal data we have about you
- Rectificación (Rectification): Request correction of inaccurate or incomplete data
- Cancelación (Cancellation): Request deletion of your data (subject to legal retention requirements)
- Oposición (Opposition): Opt out of marketing communications or secondary data uses
For International Users (GDPR-Inspired Rights)
- Data Portability: Export your validation history in CSV format via the Account page
- Right to Object: Opt out of analytics and promotional emails
- Withdraw Consent: Revoke permissions for optional data processing
How to Exercise Your Rights
To exercise any of these rights, please send an email to contacto@valida-cfdi.com.mx with the subject line "ARCO Request" or "Privacy Rights Request". Include:
- Your full name and email address associated with your account
- The specific right you wish to exercise
- Any additional details to help us process your request
We will respond to your request within 20 business days as required by Mexican law (LFPDPPP, Article 32).
8. Cookies & Tracking
Essential Cookies
- JWT Authentication Tokens: Stored in browser localStorage for session management (required for service functionality)
- Session Management: Temporary session data for authenticated users
Analytics (Optional)
- Google Analytics: Anonymized IP addresses for usage analytics
- Opt-Out: You can disable analytics cookies through browser settings or by contacting us
No Advertising
We do not use cookies for advertising purposes or cross-site tracking. ValidaCFDI does not sell your data to third-party advertisers.
9. Changes to This Policy
We may update this Privacy Policy to reflect changes in our services, legal requirements, or business practices. When we make changes:
- Material Changes: We will notify you via email and display an on-site notification banner
- Minor Updates: The "Last updated" date at the top of this page will be updated
- Continued Use: Your continued use of ValidaCFDI after changes become effective constitutes acceptance
- Historical Versions: Previous versions of this policy are available upon request
10. Contact & Complaints
Contact Information
- Email: contacto@valida-cfdi.com.mx
- Address: Altavista 102, San Angel, CDMX, 01000, México
- Business Hours: Monday-Friday, 9:00 AM - 6:00 PM (Mexico City time)
Data Protection Authority
If you have concerns about how we handle your personal data and are not satisfied with our response, you may file a complaint with Mexico's National Institute for Transparency, Access to Information and Personal Data Protection:
- Organization: INAI (Instituto Nacional de Transparencia, Acceso a la Información y Protección de Datos Personales)
- Website: https://home.inai.org.mx
Versión en Español
1. Introducción e Identificación del Responsable
validacfdi.com (en adelante "el Responsable" o "ValidaCFDI"), con domicilio en Altavista 102, San Angel, CDMX, 01000, México, es responsable del uso y protección de sus datos personales. Este Aviso de Privacidad aplica a nuestra aplicación web, API, integración con Zapier y complemento de Google Sheets.
Contacto: contacto@valida-cfdi.com.mx
Fecha de Vigencia: 28 de diciembre de 2025
2. Datos Personales Recabados
Para llevar a cabo las finalidades descritas en el presente aviso de privacidad, recabamos y tratamos las siguientes categorías de datos personales:
Información Personal
- Correo electrónico: Para creación de cuenta, autenticación y comunicaciones
- Nombre completo: Para identificación y personalización
- Nombre de empresa: Para gestión de cuentas empresariales
- Número telefónico: Opcional, para soporte técnico
Datos de Autenticación
- Contraseñas: Almacenadas como hashes bcrypt, nunca en texto plano
- Tokens JWT: Tokens de acceso (15 minutos de expiración) y tokens de actualización (7 días de expiración)
- Claves API: Almacenadas como hashes bcrypt con formato de prefijo
vck_para integraciones con Zapier y Google Sheets
Datos de Validación
- UUID de CFDI: Identificadores únicos de facturas electrónicas que valida
- Números RFC: Números de identificación fiscal (emisor y receptor) de los CFDI
- Montos de facturas: Importes totales de los CFDI validados
- Marcas de tiempo: Fecha y hora de cada solicitud de validación
- Resultados de estatus SAT: Resultados de validación (Vigente, Cancelado, No Encontrado)
- Puntajes de riesgo EFOS: Porcentajes de riesgo en listas negras para RFCs
Datos de Uso
- Registros de llamadas API: Endpoints solicitados, marcas de tiempo, códigos de respuesta
- Historial de validaciones: Registro de sus actividades de validación para seguimiento de cuota
- Uso de cuota: Número de validaciones utilizadas por mes
- Registros de errores: Mensajes de error sanitizados para depuración (sin datos personales, sin rutas de archivos)
Información de Pago
- ID de cliente Stripe: Referencia a su cuenta Stripe para facturación
- Estado de suscripción: Nivel de plan (Gratuito, Profesional, Empresarial), ciclo de facturación, estado de pago
- Nota: Los datos de tarjeta de crédito son almacenados únicamente por Stripe, nunca por ValidaCFDI
Datos de Integración
- Conexiones Zapier: Registro de integraciones activas de Zapier usando su clave API
- Instalaciones de Google Sheets: Registro de uso del complemento de Google Sheets
3. Finalidades del Tratamiento de sus Datos Personales
Sus datos personales serán utilizados para las siguientes finalidades:
- Servicios de Validación de CFDI: Extraer datos de facturas PDF usando la API de Mindee OCR y validar CFDI usando SW Sapien PAC (Proveedor Autorizado de Certificación)
- Verificación de Riesgo de RFC: Verificar números RFC contra las listas negras oficiales del SAT EFOS (Empresas Facturantes de Operaciones Simuladas) y EDOS (Empresas que Deducen Operaciones Simuladas)
- Monitoreo de Proveedores y Alertas:Rastrear cambios de estado de RFC y enviar notificaciones (solo planes Profesional y Empresarial)
- Autenticación y Autorización: Gestionar sesiones de usuario, acceso API y permisos basados en roles
- Gestión de Suscripciones: Procesar pagos, gestionar actualizaciones/degradaciones de plan y manejar facturación vía Stripe
- Acceso API: Habilitar integraciones con Zapier y Google Sheets para automatización de flujos de trabajo
- Mejoras del Servicio: Analizar patrones de uso para mejorar rendimiento y características
- Soporte al Cliente: Responder consultas, solucionar problemas y proporcionar asistencia técnica
- Comunicaciones: Enviar correos transaccionales (restablecimiento de contraseña, actualizaciones de suscripción) y correos promocionales opcionales
4. Servicios de Terceros
ValidaCFDI se integra con los siguientes servicios de terceros para proporcionar nuestra funcionalidad. Cada servicio opera bajo su propia política de privacidad, y ValidaCFDI no es responsable de sus prácticas de datos.
API de OCR Mindee
- Propósito: Extraer datos de facturas PDF (UUID, RFC, montos, fechas)
- Datos compartidos: Archivos PDF cargados por usted
- Datos recibidos: Texto extraído y datos estructurados con puntajes de confianza
- Política de Privacidad: https://mindee.com/privacy
Validador SW Sapien
- Propósito: Validación PAC oficial contra la base de datos del SAT
- Datos compartidos: UUID del CFDI, RFC Emisor, RFC Receptor, Monto total
- Datos recibidos: Estado de validación del SAT (Vigente, Cancelado, No Encontrado)
- Política de Privacidad: https://www.sw.com.mx/aviso-de-privacidad
Stripe
- Propósito: Procesamiento de pagos y gestión de suscripciones
- Datos compartidos: Correo electrónico, nombre completo, nombre de empresa para facturación
- Datos recibidos: Confirmaciones de pago, eventos de suscripción
- Nota: Los datos de tarjeta de crédito se ingresan directamente en formularios seguros de Stripe, nunca vistos por ValidaCFDI
- Política de Privacidad: https://stripe.com/privacy
Resend
- Propósito: Entrega de correos transaccionales y de notificación
- Datos compartidos: Dirección de correo electrónico, nombre completo, contenido del correo
- Política de Privacidad: https://resend.com/legal/privacy-policy
Sentry
- Propósito: Seguimiento de errores y monitoreo de aplicaciones
- Datos compartidos: Registros de errores sanitizados (PII filtrado, sin rutas de archivos, sin consultas SQL)
- Política de Privacidad: https://sentry.io/privacy/
Redis Cloud
- Propósito: Almacenamiento temporal en caché de resultados de validación para optimización de rendimiento
- Datos almacenados: Solo resultados de validación (datos de CFDI, estado SAT, puntajes EFOS)
- Retención: Expiración automática de 24 horas (TTL)
Plataforma Zapier
- Propósito: Habilitar automatización de flujos de trabajo con más de 5,000 aplicaciones
- Flujo de datos: Cuando conecta ValidaCFDI a Zapier, los datos de validación fluyen a sus Zaps según su configuración
- Su responsabilidad: Usted controla qué datos fluyen a qué aplicaciones a través de la configuración de su Zap
- Política de Privacidad: https://zapier.com/privacy
API de Google Sheets
- Propósito: Habilitar validación basada en hojas de cálculo a través de nuestro complemento de Google Sheets
- Flujo de datos: Cuando instala el complemento, los resultados de validación llenan sus hojas de cálculo según su uso
- Su responsabilidad: Usted controla los permisos de acceso y compartición de hojas de cálculo
- Política de Privacidad: https://policies.google.com/privacy
5. Retención de Datos y Almacenamiento en Caché
Retenemos sus datos durante diferentes períodos dependiendo del tipo de información y requisitos legales:
- Resultados de Validación (Caché):Almacenados en Redis durante 24 horas, luego eliminados automáticamente. Esto mejora el rendimiento al evitar llamadas API redundantes.
- Cuentas de Usuario: Retenidas mientras su cuenta esté activa. Eliminadas dentro de los 30 días posteriores a la solicitud de eliminación de cuenta.
- Historial de Validaciones: Retenido durante 12 meses para seguimiento de cuota y propósitos de soporte al cliente. Los registros más antiguos se purgan automáticamente.
- Claves API: Almacenadas como hashes bcrypt mientras estén activas. Las claves revocadas se eliminan inmediatamente de la base de datos.
- Registros de Pago: Retenidos durante 7 años según la ley fiscal mexicana (Código Fiscal de la Federación, Artículo 30).
- Registros de Errores: Retenidos durante 90 días para depuración y mejora del servicio, luego eliminados automáticamente.
- Base de Datos EFOS: Actualizada semanalmente con datos públicos del SAT. Los registros históricos se retienen indefinidamente para análisis de tendencias y seguimiento de cumplimiento.
6. Seguridad de Datos
Implementamos medidas de seguridad integrales para proteger sus datos personales:
Cifrado
- En Tránsito: Todos los datos transmitidos sobre HTTPS/TLS 1.3 con suites de cifrado modernas
- En Reposo: Contraseñas y claves API hasheadas con bcrypt (factor de costo 12)
- Base de Datos: PostgreSQL con copias de seguridad cifradas
Autenticación y Control de Acceso
- Tokens JWT: Los tokens de acceso expiran después de 15 minutos, los tokens de actualización después de 7 días
- Gestión de Sesiones: Invalidación automática de sesión al cambiar contraseña (todos los dispositivos desconectados)
- Control de Acceso Basado en Roles: RBAC de administrador con bandera
is_adminpara funciones administrativas - Autenticación de Clave API: Claves hasheadas con validación segura para integraciones Zapier/Google Sheets
Seguridad de Infraestructura
- Base de Datos: PostgreSQL en Render con copias de seguridad cifradas automatizadas
- Caché: Redis con expiración automática y sin almacenamiento persistente
- Alojamiento: Render (backend) y Vercel (frontend) con protección DDoS
Seguridad de Aplicación
- Encabezados de Seguridad: HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
- Validación de Entrada: Límites de tamaño de solicitud (PDF 10MB, CSV 5MB, JSON 1MB)
- Sanitización de Errores: Sin rutas de archivos, consultas SQL o datos sensibles en mensajes de error
- Monitoreo: Seguimiento de errores Sentry con filtrado de PII
Sin Almacenamiento Sensible
- Los datos de tarjeta de crédito son almacenados solo por Stripe, nunca por ValidaCFDI
- Las contraseñas se hashean con bcrypt antes del almacenamiento, nunca almacenadas en texto plano
- Las claves API se hashean antes del almacenamiento, mostradas solo una vez en la creación
7. Sus Derechos
Para Usuarios Mexicanos (Cumplimiento LFPDPPP)
Bajo la Ley Federal de Protección de Datos Personales en Posesión de los Particulares de México (LFPDPPP), usted tiene los siguientes derechos ARCO:
- Acceso: Solicitar información sobre qué datos personales tenemos sobre usted
- Rectificación: Solicitar corrección de datos inexactos o incompletos
- Cancelación: Solicitar eliminación de sus datos (sujeto a requisitos de retención legal)
- Oposición: Optar por no recibir comunicaciones de marketing o usos secundarios de datos
Para Usuarios Internacionales (Derechos Inspirados en GDPR)
- Portabilidad de Datos: Exportar su historial de validaciones en formato CSV a través de la página de Cuenta
- Derecho a Objetar: Optar por no recibir análisis y correos promocionales
- Retirar Consentimiento: Revocar permisos para procesamiento opcional de datos
Cómo Ejercer Sus Derechos
Para ejercer cualquiera de estos derechos, por favor envíe un correo electrónico a contacto@valida-cfdi.com.mx con el asunto "Solicitud ARCO" o "Solicitud de Derechos de Privacidad". Incluya:
- Su nombre completo y dirección de correo electrónico asociada con su cuenta
- El derecho específico que desea ejercer
- Cualquier detalle adicional para ayudarnos a procesar su solicitud
Responderemos a su solicitud dentro de los 20 días hábiles según lo requerido por la ley mexicana (LFPDPPP, Artículo 32).
8. Cookies y Rastreo
Cookies Esenciales
- Tokens de Autenticación JWT: Almacenados en localStorage del navegador para gestión de sesiones (requerido para funcionalidad del servicio)
- Gestión de Sesión: Datos de sesión temporales para usuarios autenticados
Análisis (Opcional)
- Google Analytics: Direcciones IP anonimizadas para análisis de uso
- Optar por No Participar: Puede deshabilitar cookies de análisis a través de la configuración del navegador o contactándonos
Sin Publicidad
No usamos cookies para propósitos publicitarios o rastreo entre sitios. ValidaCFDI no vende sus datos a anunciantes de terceros.
9. Cambios a Esta Política
Podemos actualizar este Aviso de Privacidad para reflejar cambios en nuestros servicios, requisitos legales o prácticas comerciales. Cuando hagamos cambios:
- Cambios Materiales: Le notificaremos por correo electrónico y mostraremos un banner de notificación en el sitio
- Actualizaciones Menores: La fecha de "Última actualización" en la parte superior de esta página se actualizará
- Uso Continuo: Su uso continuo de ValidaCFDI después de que los cambios entren en vigencia constituye aceptación
- Versiones Históricas: Las versiones anteriores de esta política están disponibles a solicitud
10. Contacto y Quejas
Información de Contacto
- Correo Electrónico: contacto@valida-cfdi.com.mx
- Dirección: Altavista 102, San Angel, CDMX, 01000, México
- Horario de Atención: Lunes a Viernes, 9:00 AM - 6:00 PM (Hora de Ciudad de México)
Autoridad de Protección de Datos
Si tiene inquietudes sobre cómo manejamos sus datos personales y no está satisfecho con nuestra respuesta, puede presentar una queja ante el Instituto Nacional de Transparencia, Acceso a la Información y Protección de Datos Personales de México:
- Organización: INAI (Instituto Nacional de Transparencia, Acceso a la Información y Protección de Datos Personales)
- Sitio Web: https://home.inai.org.mx