EXPEDIENTE TÉCNICO // TITN SMS // VERSIÓN 2.3.1-web

BAJO EL CAPÓ.NADA QUE ESCONDER.

La mayoría de los proveedores le entregan un folleto. Esto es la arquitectura. Si su gente de TI tiene preguntas después de leerla, son del tipo que nos gusta responder.

← FICHA COMERCIAL

01 // STACK

EL STACK 

FRONTENDReact 19, Tailwind CSS, Shadcn/Radix UI — compilado a un paquete estático
I18Nreact-i18next — inglés + español en toda la aplicación operativa
BACKENDFastAPI (Python 3.11) sobre Uvicorn — un router por dominio funcional
BASE DE DATOSMongoDB 7.x vía PyMongo — un solo inquilino, local o administrada
CRIPTOGRAFÍAAES-256-GCM en reposo · licencias firmadas HMAC-SHA256 · autorización de captura Ed25519
DOCUMENTOSSuperposición con pypdf sobre las plantillas PDF oficiales RSD-804 de Texas
ALMACÉN DE EVIDENCIAAlmacenamiento de objetos privado para evidencia de captura cifrada (fotos, huellas, firmas)
HARDWAREBásculas Modbus · lectores SecuGen vía puente C# en Windows · cámaras IP vía proxy en Python

02 // TOPOLOGÍA

UN ORIGEN. UN PUERTO. UN REGISTRO. 

En el despliegue LAN de referencia, un solo Nginx está al frente de todo: `/api/*` se redirige a FastAPI, todo lo demás es el paquete estático de React con enrutamiento del lado del cliente. Cookies del mismo origen, sin juegos de CORS, un solo lugar para el TLS.

░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░
░ ░
░ ░░░░░░░░░ ░░░ ░░░░░ ░░░░ ░░░░░░ ░░░░░░ ░░░ ░░░░░░░ ░░░░░ ░
░ ░░░░░░░░░░ ░░ ░░ ░░░░ ░ ░ ░
░ ░░░░ ░░ ░░░ ░░░░░ ░░░░░░░░ ░
░ ░ ░
░ ░░░░░░░ ░░░░░░ ░░░░░░░░░░░░░░ ░
░ ░░░░░░░ ░░ ░░░░░░░ ░░░░░░░░░░ ░░░░░░░░ ░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░ ░ ░
░░░░░░░ ░░░░░░ ░░░░░░ ░░ ░░░░░░ ░░░░░ ░░ ░░░░░░░
░░░░░░░░░ ░░░░░░░░░░ ░░░░░░░░ ░░░░░░░░░░ ░░░░░░░

03 // MODELO DE SEGURIDAD

ASUMA QUE EL AUDITOR ES HOSTIL. 

01

CIFRADO EN REPOSO

Los campos sensibles y la evidencia se cifran con AES-256-GCM antes de tocar el disco. Las llaves vienen del entorno, nunca del repositorio.

02

SESIONES Y RBAC

Sesiones emitidas por el servidor, dependencias de rol en cada ruta, arreglo completo de roles[] por usuario y protección de rutas por rol en la SPA.

03

LÍMITES Y BLOQUEO

Límite de tasa por IP y bloqueo por cuenta en los endpoints de autenticación.

04

INTENCIÓN DE CAPTURA FIRMADA

La captura de huella se autoriza con un desafío firmado, de corta vida y ligado al reclamo. El puente lo verifica; el servidor verifica el resultado. Las repeticiones mueren.

05

BITÁCORA DE AUDITORÍA

Cada acción que cambia estado escribe un evento de auditoría: quién, qué, cuándo, desde dónde. Solo anexable por diseño.

06

LICENCIAS SIN CONEXIÓN

Llaves de licencia firmadas con HMAC-SHA256, generadas fuera de línea por el proveedor. El servidor valida sin llamar a casa.

04 // PIPELINE DE CAPTURA

EVIDENCIA CON PROCEDENCIA. 

DOCUMENTO DE IDENTIDADCaptura por cámara con OCR asistido por IA opcional para prellenar datos del vendedor. Imagen original cifrada y almacenada.
ROSTRO Y FIRMACaptura en navegador, procedencia tipada (dispositivo, operador, marca de tiempo), cifrado en reposo.
HUELLA DIGITALPuente C# SecuGen en Windows sobre loopback. El servidor emite una autorización firmada Ed25519 ligada al reclamo; el puente devuelve una plantilla verificada ligada a ese reclamo.
CÁMARAS DE BÁSCULAProxy en Python que expone capturas autenticadas sobre Tailscale Funnel (HTTPS). Frescura exigida; salud de cámaras visible en el panel del gerente.
BÁSCULA DE CAMIONESLecturas Modbus en vivo con máquina de estados PESO1 / ESPERA / PESO2. Identidad de la báscula y hora de lectura registradas en el ticket.
ALMACENAMIENTOEvidencia descargada a almacenamiento de objetos privado; límites BSON exigidos; referencias conservadas en el ticket.

05 // EXPORTACIONES DE CUMPLIMIENTO

LO QUE TEXAS QUIERE, EN EL FORMATO QUE TEXAS QUIERE. 

TOMSXML del Texas Online Metals System (Texas DPS) generado a partir de datos de ticket, vendedor, vehículo y material, con seguimiento de envíos.
LEADSONLINEXML de LeadsOnline construido desde la misma fuente de verdad. Una captura, dos reportes.
TARJETAS RSD-804Datos de solicitud e identificación superpuestos sobre las plantillas PDF oficiales del estado, byte por byte.
CÓDIGOS DE MATERIALDatos de referencia de códigos estatales de materiales y vehículos incluidos con el sistema.

06 // OPERACIONES

HECHO PARA OPERARSE, NO PARA DEMOSTRARSE. 

MODOS DE DESPLIEGUELAN Ubuntu de un solo origen (Nginx + systemd) o alojado con HTTPS. Mismo paquete, misma API.
RESPALDOSPlanificador en segundo plano: respaldos JSON diarios con retención rotativa de 14 días. Procedimiento de restauración documentado.
INSTALADORESInstaladores guiados para Windows del puente de huella y del proxy de cámaras — secretos protegidos, migración de tareas, reversión.
OBSERVABILIDADEndpoint de salud, insignias de salud de cámaras en vivo, conciliación de fin de día, visor de bitácora de auditoría.
DOCUMENTACIÓNArquitectura, despliegue, seguridad, respaldo/restauración, licencias, referencia de API, guías de usuario, solución de problemas, matriz de aceptación.

07 // SUPERFICIE DE API

DOMINIOS DE RUTAS 

Cada ruta vive bajo /api y está documentada en la referencia de API. Routers por dominio:

/api/auth
/api/tickets
/api/customers
/api/materials
/api/scales
/api/truck-scale
/api/pay-window
/api/ledger
/api/cash-cards
/api/reports
/api/fingerprint
/api/settings
/api/employees
/api/license
/api/reference
/api/it-admin

¿QUIERE EL RESTO DE LA DOCUMENTACIÓN?

Arquitectura, referencia de API, guía de despliegue, modelo de seguridad — se la explicamos a su equipo completa.

LLAME AL (346) 787-3662