Arquitectura Cloud y Seguridad
La arquitectura de Matias Impulso está diseñada bajo principios Security by Design, aislamiento estricto por organización (multi-tenancy) y resiliencia operativa para cargas conversacionales de misión crítica.
Topología de Servicios
Sección titulada «Topología de Servicios»[Clientes en WhatsApp / Instagram / Messenger / TikTok / WebChat] │ (Webhooks HMAC + TLS 1.3) ▼ ┌─────────────────────────────────┐ │ Nginx Edge / Proxy TLS Inverso │ └──────┬───────────────────┬──────┘ │ │ (HTTPS REST) │ │ (WSS Socket.IO) ▼ ▼ ┌───────────────────────────────────────────┐ │ waback (NestJS 11 · Pipeline Omnicanal) │ ├───────────────────────────────────────────┤ │ • Inbound Unificado + Deduplicación │ │ • Handler System (Flujo / IA / Humano) │ │ • Motor RAG + Guardrails + Router IA │ └─────────┬───────────────────────┬─────────┘ │ │ (SQL + pgvector) (Colas Bull + Caché) ▼ ▼ ┌─────────────────────────┐ ┌────────────────────┐ │ PostgreSQL 16 + pgvector│ │ Redis 7 (AOF) │ └─────────────────────────┘ └────────────────────┘Controles de Seguridad Activos
Sección titulada «Controles de Seguridad Activos»1. Aislamiento Multi-Tenant Estricto
Sección titulada «1. Aislamiento Multi-Tenant Estricto»Toda entidad de negocio (Ticket, Contact, Message, AiAgent, KnowledgeDocument, Whatsapp, Campaign, Flow) está particionada por companyId. Los controladores extraen la identidad de la empresa exclusivamente desde el token JWT verificado en servidor, impidiendo ataques de referencia directa insegura (IDOR).
2. Cifrado de Credenciales Sensibles (AES-256-GCM)
Sección titulada «2. Cifrado de Credenciales Sensibles (AES-256-GCM)»Las llaves BYOK (Anthropic, OpenAI, proveedores de voz) y los tokens de acceso de integraciones externas (Meta Graph API, WhatsApp Cloud API, TikTok Business, Google Calendar) nunca se almacenan en texto plano ni se devuelven en lecturas posteriores:
- Se cifran con AES-256-GCM autenticado antes de persistirse en base de datos.
- En la interfaz y en las respuestas REST solo se expone una huella enmascarada de verificación.
3. Verificación Criptográfica de Webhooks (rawBody)
Sección titulada «3. Verificación Criptográfica de Webhooks (rawBody)»El backend conserva el cuerpo crudo de cada petición entrante (req.rawBody) para validar la firma criptográfica antes de encolar cualquier evento:
- Meta (WABA, Messenger, Instagram): validación constante en tiempo (
timingSafeEqual) deX-Hub-Signature-256(HMAC-SHA256). - Wompi Bancolombia: validación del checksum SHA-256 concatenando las propiedades del evento, el timestamp y el secreto de eventos de Wompi.
4. Endurecimiento HTTP y Políticas CSP
Sección titulada «4. Endurecimiento HTTP y Políticas CSP»- Cabeceras estrictas en todos los orígenes (
Strict-Transport-Security,X-Content-Type-Options: nosniff,X-Frame-Options: DENY,Referrer-Policy: strict-origin-when-cross-originyPermissions-Policy). - Descarga forzada (
Content-Disposition: attachment) en adjuntos que no sean imagen, audio o video seguros para neutralizar XSS almacenado en archivos subidos. - En producción (
NODE_ENV=production), la consola interactiva interna/api/docspermanece desacoplada del runtime, exponiéndose únicamente el contrato público auditado en este portal (docs.matiasimpulso.com).