Trazabilidad en cadena de suministro y pruebas de custodia

Combina metadatos por perfil, líneas de tiempo chainId, eventos de conectores e informes de traza exportables en logística, QA, aduanas y proveedores.

Solución

Validación de metadatos guiada por perfil

Usa `supply-chain-v1` o perfiles estrictos personalizados para validar campos requeridos (lote, partida, metadatos de traspaso) antes de la subida.

Separación entre metadatos buscables y sensibles

Los campos operativos siguen consultables en tags (`Biz-*`, tags de traza). Los campos sensibles se envuelven en payloads cifrados.

Contexto de traza en cada evento

Adjunta `Trace-Chain-Id`, `Trace-Event-Type`, `Trace-Step` y `Trace-Actor` para que cada TX se una a una cronología determinista.

Entrega de conectores en tiempo real

Difunde eventos de cadena mediante Webhooks + PubSub + stream endpoint para que los sistemas ERP/WMS reciban actualizaciones sin polling.

Tags de traza + TX IDs inmutables crean una cronología verificable.

En lugar de confiar en una sola base de datos interna, cada evento es referenciable externamente y está anclado criptográficamente.

  • Contratos de perfil: Las reglas estrictas de campos fuerzan metadatos consistentes antes de cada evento de subida/versión.
  • Tags de traza: Chain ID, tipo de evento, paso y actor pueden consultarse entre documentos y versiones.
  • Envelope sensible: Los metadatos confidenciales permanecen cifrados mientras los campos operativos siguen descubriéndose.
  • Elección de proveedor: Vincula cada tenant a un proveedor PostgreSQL (compartido o dedicado) sin cambiar contratos de API.

¿Podemos ejecutar distintos proveedores de almacenamiento por tenant?

Sí. La vinculación de almacenamiento es por tenant (`1 provider per tenant`) con proveedores PostgreSQL. PostgreSQL gestionado por Encore sigue siendo el principal y los proveedores ligados al tenant reflejan escrituras.

¿Cómo consultamos una cronología completa de la cadena?

Usa `GET /trace/chains/:chainId` o `/trace/chains/:chainId/events` y correlaciona con `Parent-TX` para el historial de versiones cuando haga falta.

¿Necesitamos la consola para integrar?

No. Puedes integrarte directamente con el SDK de TypeScript (`@evercore/sdk-ts`) usando API keys y helpers aware de perfil.