Introducción

Autorizar una integración entre Shopify y Contífico implica permitir que una plataforma procese pedidos, datos de clientes y credenciales de conexión. Antes de hacerlo, es razonable preguntar quién puede acceder a esa información, cómo se protege y qué responsabilidades conserva cada empresa.

La respuesta seria no empieza prometiendo riesgo cero. Empieza aclarando qué controla QIntegro, qué datos necesita para operar y qué sigue siendo responsabilidad de la empresa. Si además quieres entender el flujo funcional completo, puedes revisar cómo funciona la integración paso a paso y volver al artículo pilar sobre automatizar la facturación electrónica de Shopify en Ecuador. Si quieres ver cuándo conviene automatizar y qué problemas aparecen cuando el trabajo manual deja de ser sostenible, también tienes la comparación entre facturación manual y automática y la guía de errores frecuentes al facturar pedidos.

Respuesta breve

Lo que sí está confirmado en el producto actual: QIntegro trabaja con acceso autenticado, separa cada empresa por contexto de tenant, usa cookies seguras para la sesión, evita exponer tokens en el navegador y procesa solo la información necesaria para operar la integración con Shopify y Contífico.

¿Qué información procesa QIntegro?

En el flujo auditable del proyecto, QIntegro procesa credenciales autorizadas de Shopify y Contífico, identificadores de tienda, pedidos, clientes, productos, cantidades, precios, descuentos, impuestos, estados operativos y resultados de la integración.

La información exacta depende del pedido y de la configuración de cada empresa. La plataforma no necesita inventar datos: trabaja con lo que Shopify y Contífico exponen dentro del alcance autorizado.

Ejemplos de datos usados en el flujo:
  • pedido recibido en Shopify;
  • cliente y datos mínimos para facturación;
  • productos y variantes necesarias para la factura;
  • impuestos y totales;
  • estado de la conexión y resultado de la operación.

¿Qué información no necesita QIntegro?

QIntegro no necesita la contraseña personal de Shopify de un usuario, ni credenciales bancarias, ni tarjetas, ni información ajena a la operación de facturación. Tampoco necesita que la empresa comparta datos innecesarios de clientes para el flujo básico que ya está confirmado.

La diferencia importante es entre lo que una plataforma podría recibir en teoría y lo que realmente necesita para operar. Si un dato no aporta a la factura, no debería formar parte del intercambio.

¿Cómo se protegen las credenciales?

Las credenciales confirmadas se usan desde el backend, no desde una lógica de navegador. La aplicación valida secretos críticos al arrancar, trabaja con cookies de sesión protegidas y conserva los accesos de cada empresa dentro de su propio contexto.

Control Estado Qué significa para el cliente
Secreto de aplicación fuera del código Confirmado La app falla al arrancar si faltan secretos críticos en producción.
Uso de credenciales desde servidor Confirmado El navegador no necesita ver las llaves de integración.
Sesión con cookies protegidas Confirmado La autenticación se administra con cookies de acceso y refresco.
Exposición pública de secretos No observada en los flujos auditados El frontend no debe mostrar claves completas ni tokens.

¿Las API keys aparecen en el navegador?

No en los flujos auditados. El login devuelve cookies de sesión y no expone tokens en el JSON público. La recuperación de contraseña genera un token temporal para el enlace de restablecimiento y lo gestiona desde el servidor, no como un secreto visible en pantalla.

En términos simples: el navegador recibe sesión, no llaves de integración. Esa es la diferencia que reduce la exposición accidental de credenciales.

Aislamiento entre empresas

QIntegro trabaja con aislamiento lógico por tenant. Las sesiones contienen `tenant_id`, las rutas protegidas verifican ese dato y las consultas a pedidos, clientes y credenciales se resuelven dentro del contexto de la empresa autenticada.

Eso significa que una empresa no debería operar sobre los datos de otra. No hay evidencia en el repositorio de una base física separada por cliente, así que el lenguaje correcto es aislamiento lógico, no aislamiento físico.

Contexto Cómo se controla Resultado esperado
Sesión JWT con `tenant_id` en claims e identidad. El usuario opera en su propia empresa.
Consultas Filtros por `tenant_id` en pedidos, clientes y POS. Los datos se recuperan del tenant correcto.
Administración Las rutas revisan que el tenant de la sesión coincida con el solicitado. Se evita cruzar contexto entre empresas.

Seguridad de las sesiones

La app usa `SECRET_KEY` y `JWT_SECRET_KEY`, valida las sesiones con JWT y configura cookies con `HttpOnly`, `SameSite=Lax` y `Secure` en producción. También maneja expiración para access y refresh token, y el logout limpia las cookies.

Lo que esto resuelve: evita que el navegador lea los tokens como texto plano, reduce el riesgo de exposición en scripts y limita la duración de las credenciales de sesión.

Validación de conexiones

QIntegro no se limita a guardar credenciales. También valida el estado de conexión de Shopify y Contífico y trabaja con estados operativos comprensibles como pendiente, conectado o error. Eso ayuda a que el negocio vea el estado real de la integración sin tener que interpretar mensajes técnicos crudos.

Una validación correcta no garantiza que todos los pedidos futuros estarán libres de incidencias. Solo confirma que, en ese momento, la conexión responde como debe.

Protección de los datos de los clientes

Los datos de clientes se usan para identificar al comprador, preparar la factura, relacionar el pedido y registrar el resultado operativo. Eso implica procesarlos dentro del flujo, pero no significa exponerlos públicamente ni compartirlos entre empresas.

La regla práctica es minimización: usar solo lo necesario para facturar y mantener el contexto separado por tenant. La empresa sigue siendo responsable de recolectar datos correctos y de contar con la base legal que corresponda.

Permisos concedidos y acciones reales

La seguridad no solo depende de qué token existe, sino de qué hace realmente el sistema con ese token. Por eso conviene diferenciar entre permisos concedidos y acciones efectivamente ejecutadas.

Permiso concedido Acción real confirmada Nota
Shopify autorizado Leer y procesar pedidos, clientes y productos necesarios para la integración. No se debe asumir uso de permisos no auditados.
Contífico autorizado Validar conexión y emitir facturas desde el backend. La operación depende de la configuración de la empresa.
Sesión autenticada Acceder solo al tenant autorizado. El tenant de la sesión debe coincidir con el contexto solicitado.

¿Qué ocurre si desconecto la integración?

Si revocas credenciales o desconectas Shopify o Contífico, las nuevas operaciones pueden dejar de procesarse. Los documentos ya creados permanecen en el sistema donde fueron generados.

La integridad del historial no depende de que la integración siga activa. Lo que cambia es la capacidad de seguir automatizando nuevos pedidos.

¿Cómo se protegen los secretos de la aplicación?

Los secretos críticos se gestionan fuera del código y la aplicación valida su presencia en producción con un enfoque fail-fast. Eso evita desplegar una versión que parezca funcionar pero carezca de claves obligatorias para operar.

Este patrón no sustituye todas las prácticas de hardening, pero sí establece una base más segura que tener secretos incrustados en el repositorio.

Logs y mensajes de error

Los mensajes operativos deben servir para diagnosticar sin exponer secretos. En los flujos auditados, el login no devuelve tokens en JSON y la recuperación de contraseña no imprime el enlace ni el token en los logs de salida que se verificaron con pruebas.

Cuando la plataforma muestra un error, debería explicar qué pasó de forma útil para el negocio y reservar los detalles sensibles para la operación interna.

Responsabilidad compartida

Área Responsabilidad de QIntegro Responsabilidad de la empresa
Cuenta de usuario Proteger sesiones y rutas privadas. Usar contraseñas seguras y no compartir accesos.
Credenciales Usarlas únicamente para la integración confirmada. Generarlas, protegerlas y revocarlas cuando corresponda.
Shopify Procesar operaciones autorizadas. Mantener tienda, permisos y usuarios configurados.
Contífico Conectarse y enviar información autorizada. Mantener configuración administrativa y tributaria.
Datos de clientes Procesarlos dentro del flujo. Solicitar datos correctos y cumplir sus obligaciones legales.
Errores Mostrar estado y mensajes operativos. Corregir información y configuraciones.

Buenas prácticas para los clientes

  • No compartir credenciales por canales públicos.
  • Limitar usuarios administrativos al mínimo necesario.
  • Revisar permisos antes de activar una integración.
  • Revocar accesos que ya no se utilicen.
  • Cerrar sesiones en equipos compartidos.
  • Proteger el correo de recuperación.
  • Reportar actividad sospechosa cuanto antes.
  • No incluir secretos en capturas o tickets públicos.

Qué no promete QIntegro

QIntegro no puede prometer riesgo cero. Ningún sistema serio debería hacerlo. La seguridad depende de controles técnicos, de la configuración de la empresa y de la higiene operativa con la que se administren credenciales y accesos.

La plataforma tampoco sustituye políticas internas, asesoría legal ni decisiones contables o tributarias. Si una credencial se expone, la respuesta correcta es revocarla y volver a validar la conexión.

Controles confirmados

Controles que sí están sustentados por código y pruebas:
  • secretos de aplicación fuera del código y validados en arranque;
  • cookies JWT con `HttpOnly` y `SameSite` configurado;
  • `Secure` en cookies cuando corresponde al entorno de producción;
  • rutas privadas protegidas por JWT y `tenant_id`;
  • aislamiento lógico por tenant en consultas y operaciones;
  • validación de conexiones y estados operativos;
  • HMAC de Shopify en producción según configuración;
  • recuperación de contraseña con token temporal y expiración;
  • no exposición de tokens en respuestas JSON de login y refresh.

Mejoras continuas

La seguridad no es una tarea cerrada. A medida que la plataforma crece, conviene revisar autenticación, permisos, mensajes de error, dependencias, validaciones de webhook y separación por tenant para mantener el mismo nivel de control.

En otras palabras: la confianza se sostiene con revisión continua, no con una promesa estática.

CTA intermedio

Conoce qué necesitas para conectar Shopify con Contífico

Si quieres ver el flujo operativo detrás de estas protecciones, revisa cómo funciona la integración y vuelve a la página de Shopify + Contífico.

Preguntas frecuentes

¿QIntegro necesita mi contraseña de Shopify?

No. La integración usa accesos autorizados para operar, no la contraseña personal de un usuario.

¿Dónde se utilizan las credenciales?

En el backend, para validar conexiones y procesar la integración dentro del tenant autorizado.

¿Las API keys aparecen en el navegador?

No en los flujos auditados. El navegador recibe sesión, no llaves de integración.

¿Otra empresa puede ver mis datos?

No debería. El acceso está asociado al tenant autenticado y las consultas se filtran por ese contexto.

¿QIntegro almacena datos de clientes?

Procesa y conserva los datos operativos necesarios para facturación y trazabilidad dentro del tenant correspondiente.

¿QIntegro puede ver información de pagos?

La integración confirmada trabaja con los datos necesarios para facturar; no se debe asumir que necesita datos bancarios o de tarjeta.

¿Qué ocurre si una credencial se expone?

Debe revocarse en el origen y revalidarse la conexión. No existe una respuesta automática que sustituya esa acción.

¿Puedo revocar el acceso?

Sí. La revocación en Shopify o Contífico corta la capacidad de seguir procesando nuevas operaciones.

¿Qué pasa si desconecto Shopify o Contífico?

Las nuevas operaciones pueden dejar de procesarse y los documentos ya creados permanecen donde fueron emitidos.

¿QIntegro garantiza seguridad absoluta?

No. Ningún sistema puede garantizar riesgo cero. La seguridad real depende de controles y mantenimiento continuo.

¿Qué responsabilidad tiene mi empresa?

Proteger sus accesos, revisar permisos, mantener datos correctos y reaccionar a tiempo ante cambios o incidencias.

Conclusión

Conectar Shopify con Contífico requiere confianza, pero esa confianza debe construirse con controles verificables, límites claros y responsabilidad compartida. En el estado auditado del producto, QIntegro busca procesar solo lo necesario, separar empresas por tenant, proteger sesiones y evitar que las credenciales aparezcan en el navegador.

La seguridad no depende solo de la plataforma. También depende de cómo la empresa administra sus accesos, sus cambios operativos y la disciplina con la que protege sus credenciales.

Crea 50 facturas gratis Volver al blog