Saltar al contenido principal

Límites de servicios y datos de AI Dashboard

Ubica el código donde correspondan su autoridad, secretos, entorno de ejecución y recuperación ante fallos. Una comodidad del navegador no es un control del servidor, y una fila de almacenamiento no demuestra que un proveedor externo haya completado su trabajo.

Mapa de responsabilidades​

CapaEs responsable deNo debe ser responsable de
apps/dashboardRutas, formularios, estado de interacción local, caché de consultas, estados saneados y comentarios para operadores.Credenciales de servicios, intercambio de tokens de proveedores, autorización autoritativa ni acceso confiable a datos entre tenants.
packages/sharedCliente de API reutilizable, estado de autenticación y configuración, comportamiento de consultas, proveedores compartidos, utilidades e interfaz de las aplicaciones del monorepo.Secretos específicos de producto ni un segundo modelo de autorización del servidor.
API de Ordering.coAutenticación central, autorización de proyectos y recursos, registros comerciales, contratos de agentes de IA y mutaciones de integraciones compatibles.Promesas del proveedor que solo puede hacer un sistema externo.
services/menu-importAdaptadores de origen, proceso de obtención/transformación, normalización de Menu Sync v2, réplica opcional de imágenes y orquestación de sincronización.Presentación del navegador ni reemplazo de la autorización de la persona con sesión iniciada por una credencial estática del cliente.
services/meta-adsIntercambio de OAuth con Meta, orquestación de campañas e insights, normalización de errores del proveedor, cifrado de tokens y persistencia confiable.Exponer secretos del proveedor o credenciales privilegiadas de base de datos al navegador.
supabase/functionsAdministración y seguimiento acotados de enlaces en bio y operaciones de registro de importaciones de menú que define cada función.Eludir de forma general la autorización de la API de Ordering.co o acceder sin restricciones a la base de datos.
Postgres/Supabase y almacenamiento de objetosFilas persistentes, políticas, migraciones, campos de auditoría y objetos multimedia compatibles.La verdad comercial sobre la entrega de un proveedor, salvo que el servicio responsable verifique y registre ese resultado.
Proveedores externosIdentidad de OAuth, cuentas de anuncios y canales, contenido externo, entrega, límites de solicitudes y errores del proveedor.Autorización del proyecto de Ordering.co ni navegación del navegador.

Reglas de flujo de datos​

  1. El navegador se autentica mediante el contrato de API de Ordering.co y conserva solo el material de sesión que necesita el flujo de cliente aprobado.
  2. Los datos centrales de Ordering.co pasan por el cliente compartido de API y permanecen limitados al proyecto y autorizados en el servidor.
  3. Un servicio independiente recibe el contexto mínimo para su tarea. Valida el token bearer o el límite de confianza interno antes de utilizar credenciales privilegiadas de proveedores o almacenamiento.
  4. Los datos del proveedor se normalizan antes de incorporarse a los registros de Ordering.co. Conserva la procedencia del origen y una etapa del fallo sin datos sensibles.
  5. Las escrituras en almacenamiento se realizan con el rol de backend y la política de nivel de fila prevista para esa carga de trabajo.
  6. El frontend invalida las cachés afectadas y vuelve a leer el resultado autoritativo en lugar de asumir que enviar equivale a completar.

Límites del almacenamiento​

El repositorio incluye migraciones y funciones de Supabase para flujos seleccionados. Considera las migraciones como la definición versionada del esquema, no como prueba de que una base de datos las haya aplicado. Antes de una publicación autorizada, verifica el registro de migraciones y las políticas de destino sin imprimir cadenas de conexión ni claves de service role.

  • Los clientes del navegador reciben únicamente configuración pública destinada a su uso.
  • Las credenciales de service role permanecen en servicios o funciones confiables y nunca deben usar el prefijo VITE_.
  • Los tokens de acceso de proveedores se cifran antes de guardarse cuando el servicio responsable admita almacenamiento.
  • Las escrituras en almacenamiento de objetos usan credenciales de mínimo privilegio, límites explícitos de contenido y claves de objeto saneadas.
  • Los registros contienen identificadores de correlación y datos de etapa/estado, no menús sin procesar, conversaciones de clientes, credenciales, encabezados de autorización ni URL firmadas.

Responsabilidad y recuperación ante fallos​

Etapa fallidaHecho persistente que se conservaResponsable de recuperación
Validación del navegador o construcción de la solicitudError saneado de campo/estado; sin valores secretosResponsable del frontend
Autenticación o autorización de API de Ordering.coEstado HTTP, operación, identificador de correlación y contexto seguro para el proyectoResponsable de la API
Obtención externa o solicitud al proveedorCategoría/código del proveedor cuando sea seguro, posibilidad de reintento e identificador de correlaciónResponsable del servicio independiente/proveedor
Transformación o normalizaciónTipo de origen, versión del esquema, ruta del campo rechazado y ejemplo seguro para fixturesResponsable del servicio/importador
Escritura en base de datos o almacenamiento de objetosOperación, versión de migración/política y error saneado del backendResponsable del almacenamiento/servicio
Entrega en tiempo realÚltimo evento o cursor confirmado y estado de conexiónResponsable del socket/canal

Los reintentos deben tener límites y ser idempotentes en la capa responsable. No repitas la creación de un proveedor, lanzamiento de campaña, sincronización de menú, notificación u otra solicitud con consecuencias, salvo que se conozcan su idempotencia y el resultado previo.

Casos que requieren revisión de seguridad​

Solicita una revisión de seguridad antes de añadir una credencial de proveedor, callback público, secreto entre servicios, consulta entre proyectos, rol privilegiado de base de datos, origen CORS sin restricciones, obtención de URL remotas generadas por usuarios, carga de archivos, URL firmada o campo nuevo de datos del cliente. Solicita una revisión de privacidad antes de ampliar la recopilación o retención de conversaciones, analítica, publicidad o seguimiento de clics.

Relacionado: Agentes, canales e integraciones de proveedores · Guía de ingeniería de AI Dashboard