> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# ¿Qué es Tracer?

> Valida transacciones en tiempo real con Tracer: aplica límites de gasto, detecta actividad no autorizada y decide permitir o denegar en menos de 100ms.

export const GCEL = ({children}) => <Tooltip headline="CEL (Common Expression Language)" tip="Un lenguaje de expresiones ligero para escribir reglas de negocio, por ejemplo, 'if transaction amount > 10000 then REVIEW'. Tracer usa CEL para las reglas de validación." cta="Ver glosario" href="/es/start-here/glossary">
    {children}
  </Tooltip>;

**Tracer** es la plataforma de Lerian para la validación de transacciones en tiempo real y el control de gastos. Ayuda a las instituciones financieras a aplicar políticas de gasto, detectar transacciones no autorizadas y mantener registros de cumplimiento listos para auditoría. Tracer hace esto en tiempo real, antes de que se ejecute la transacción.

Para cada transacción, Tracer evalúa tus reglas de negocio y límites de gasto, y luego devuelve una decisión instantánea: permitir, denegar o marcar para revisión. En Midaz v4, Tracer es source-available bajo ELv2 dentro del repositorio y el release de Midaz. Se mantiene como un runtime y despliegue separados del servicio Ledger.

## Tracer en un core banking completo

***

Tracer es una de las piezas de un core banking de Lerian, su **capa de control en tiempo real**. Un ledger registra lo que pasó. Tracer decide primero qué *está permitido que pase*. En ese flujo, antes de que tu aplicación registre una transacción en **Midaz**, llama a Tracer para verificar el movimiento contra tus reglas y límites de gasto. Tu aplicación envía al ledger solo si la decisión es `ALLOW`, así que los movimientos no autorizados o que superan el límite nunca llegan al ledger.

Tracer se mantiene **separado del ledger**: nunca inicia una llamada a Midaz ni lee saldos. Evalúa el contexto que recibe, registra el historial de validaciones y gestiona el estado de las reservas. Por defecto, tu aplicación orquesta ambos y envía al ledger solo con `ALLOW`.

Midaz también puede llamar a Tracer directamente a través de un [seam de reserva](/es/products/tracer/integration-guide#midaz-ledger-reservation-seam) opcional por ledger, que está desactivado por defecto. En ese seam, la ruta de transacciones de Ledger HTTP v2 retiene capacidad del límite antes de confirmar una transacción, y luego confirma o libera la retención. La API HTTP pública de Tracer sigue siendo `/v1`. El seam no es una API pública de Tracer v2.

Solo la ruta de transacciones de Ledger HTTP v2 invoca el seam. Ledger HTTP v1 nunca lo hace. En ambos flujos, las llamadas van hacia Tracer. Tracer no llama de vuelta a Midaz.

Para ver dónde encaja esto en el panorama general, consulta [Construir un core banking completo](/es/products/building-a-complete-core-banking).

## ¿Por qué usar Tracer?

***

Las instituciones financieras necesitan controlar cómo se mueve el dinero: aplicar límites de gasto, bloquear transacciones no autorizadas y generar registros de auditoría para los reguladores. Hacerlo de forma manual o mediante procesos por lotes genera demoras, errores y brechas de cumplimiento.

Tracer resuelve esto evaluando cada transacción en tiempo real contra tus políticas. Ofrece dos capacidades:

* **Reglas de validación**: reglas de negocio que evalúan el contexto de la transacción y devuelven decisiones instantáneas, sin necesidad de despliegues de código. Defines las reglas mediante expresiones, no código, lo que las hace accesibles para analistas y equipos de cumplimiento.
* **Límites de gasto dinámicos**: límites configurables por transacción, cuenta, portafolio, segmento o comercio, con seguimiento de uso en tiempo real y reinicios automáticos de periodo.

### Resolver los desafíos de control y cumplimiento

Tracer ayuda a las instituciones a evaluar políticas de gasto, identificar transacciones no autorizadas y cumplir con los requisitos de auditoría.

## Funcionalidades clave

***

* Validación en tiempo real con tiempos de respuesta menores a 80ms (p99)
* Motor de reglas basado en expresiones que usa <GCEL>CEL (Common Expression Language)</GCEL> para reglas con tipado seguro y accesibles para analistas
* Diseño agnóstico de producto, compatible con múltiples tipos de transacciones:
  * Transacciones con tarjeta (débito, crédito, prepago)
  * Transferencias bancarias (nacionales, internacionales, ACH)
  * Pix (instantáneo, programado)
  * Criptomonedas (bitcoin, ethereum, stablecoin)
* Límites de gasto dinámicos:
  * Por transacción, cuenta, portafolio, segmento o comercio
  * Periodos diarios, semanales, mensuales, personalizados o por transacción
* Seguimiento del uso de límites en tiempo real con reinicios automáticos de periodo
* Registro de auditoría completo con retención de más de 7 años para el cumplimiento de SOX/GLBA
* Valor predeterminado configurable para cuando no hay coincidencia (`DEFAULT_DECISION_WHEN_NO_MATCH`): cuando ninguna regla coincide con una transacción, Tracer devuelve el valor predeterminado configurado (ALLOW para fail-open, DENY para fail-closed). Las fallas de infraestructura se manifiestan como errores HTTP. El sistema que hace la llamada decide el comportamiento de respaldo.

## Cómo funciona

***

Tracer tiene cuatro contextos principales:

1. **Contexto de validación**: orquesta las solicitudes de validación, coordina la evaluación de reglas y límites, y lleva el registro de auditoría.
2. **Contexto de reglas**: gestiona las definiciones de reglas, compila expresiones y evalúa las reglas contra el contexto de la transacción.
3. **Contexto de límites**: gestiona las configuraciones de límites de gasto, hace seguimiento de los contadores de uso y aplica los umbrales.
4. **Contexto de auditoría**: mantiene el registro inmutable de eventos y verifica su cadena de hash para el cumplimiento de SOX/GLBA.

Cuando tu sistema envía una transacción para validación:

<Frame caption="Figura 1. Cómo funciona Tracer">
  <img src="https://mintcdn.com/lerian-49cb71fc/RAVxFNT8MNA4GWjO/images/es/d2/how-tracer-works.svg?fit=max&auto=format&n=RAVxFNT8MNA4GWjO&q=85&s=a8bc004808accf07a7318f3fbc1241d4" alt="Cómo Tracer procesa una solicitud de validación a través de sus contextos de validación, reglas y límites, y devuelve una decisión ALLOW, DENY o REVIEW; el contexto de auditoría no se muestra intencionalmente" width="1147" height="284" data-path="images/es/d2/how-tracer-works.svg" />
</Frame>

Tracer evalúa todas las reglas activas y, si alguna regla DENY coincide, devuelve una decisión DENY. Tracer verifica los límites contra el uso actual y devuelve la decisión junto con un registro de auditoría completo. **Tu sistema debe actuar sobre esta decisión** (por ejemplo, bloqueando la transacción, mostrando un error al usuario o poniéndola en cola para revisión).

### Quién hace qué

Tracer se ubica entre varios equipos. Cada equipo es responsable de una parte distinta del ciclo:

| Actor                            | Qué hace                                                                                                                             | Qué toca                                                                        |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- |
| **Analista de riesgo/fraude**    | Escribe y ajusta reglas ("deniega Pix superiores a R\$ 50k de cuentas nuevas")                                                       | `POST /v1/rules`, `/v1/rules/{id}/activate`, revisión del registro de auditoría |
| **Gerente de producto/riesgo**   | Configura límites de gasto por segmento, portafolio o cuenta                                                                         | `POST /v1/limits`, endpoints de ciclo de vida, monitoreo de uso                 |
| **Ingeniero de integración**     | Construye la llamada desde el sistema de autorización hacia Tracer                                                                   | `POST /v1/validations`, manejo de reintentos, tiempos de espera y respaldo      |
| **Sistema de autorización**      | Envía cada transacción para validación y actúa según ALLOW/DENY/REVIEW                                                               | Llama a `POST /v1/validations` en la ruta crítica                               |
| **Midaz ledger** (seam opcional) | Cuando el seam de reserva por ledger está habilitado, retiene capacidad del límite antes de confirmar y liquida la retención después | `POST /v1/reservations`, y luego las transiciones de confirmación o liberación  |
| **Tracer**                       | Evalúa reglas y límites, registra el resultado y devuelve la decisión                                                                | Se ejecuta internamente y nunca llama de vuelta                                 |
| **Cumplimiento/auditoría**       | Consulta el registro, verifica la integridad de la cadena de hash y ejecuta informes de SOX/GLBA                                     | `GET /v1/validations`, `/v1/audit-events`, `/v1/audit-events/{id}/verify`       |
| **SRE/plataforma**               | Monitorea la latencia, la capacidad y la readiness                                                                                   | Vigila `/readyz`, métricas de OTel, tasas de error                              |

Una solicitud típica fluye así: **sistema de autorización → Tracer (evalúa reglas + verifica límites → decisión) → registro de auditoría → respuesta de vuelta al sistema de autorización**. Los equipos de riesgo y producto configuran las definiciones de reglas y límites de antemano. Cumplimiento lee el registro de auditoría después. Tracer nunca vuelve a tu stack. No hay webhooks ni callbacks.

<Note>
  Los valores monetarios (`amount` de la transacción, `maxAmount` del límite de gasto y los contadores de uso) usan cadenas decimales, por ejemplo `"1500.00"` o `"50000.00"`.
</Note>

## Cuándo usar Tracer

***

Tracer encaja de forma natural en cualquier workflow donde necesites controlar cómo se mueve el dinero en tu institución.

* **Gobernanza del gasto**: evalúa transacciones contra políticas de gasto internas o en el nivel de cliente
* **Validación de transacciones**: evalúa reglas de negocio personalizadas y devuelve decisiones antes de la ejecución de la transacción
* **Cumplimiento regulatorio**: genera registros listos para auditoría y garantiza la trazabilidad
* **Protección del cliente**: detecta el sobregasto y devuelve decisiones sobre las que tu sistema puede actuar

## Alcance y principios de diseño

***

Tracer es un **motor de validación de transacciones**, no un sistema completo de gestión de fraude. Es un componente especializado, optimizado para decisiones de baja latencia (\< 100ms), que valida payloads previamente enriquecidos contra reglas y límites configurables.

### En qué se enfoca Tracer

* **Validación basada en reglas**: lógica determinista basada en expresiones que usa CEL
* **Límites de gasto**: aplicación en tiempo real con reinicio automático de periodo
* **Registro de auditoría**: registros inmutables para el cumplimiento (SOX/GLBA)
* **Decisiones de baja latencia**: respuestas síncronas de la API en menos de 80ms (p99)

### Qué no incluye Tracer

| Capacidad                           | Motivo                                                                             | Alternativa                                                                          |
| ----------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| **Puntuación por machine learning** | La inferencia de ML agrega latencia incompatible con el objetivo de menos de 100ms | Integra servicios externos de ML upstream y pasa las puntuaciones mediante metadatos |
| **Enriquecimiento de datos**        | Las llamadas externas durante la validación rompen las garantías de latencia       | Enriquece los payloads en tu integración antes de llamar a Tracer                    |
| **Workflows de revisión manual**    | La gestión de casos queda fuera del alcance principal de la validación             | Construye colas de revisión en tu sistema y usa la decisión `REVIEW` como disparador |
| **Interfaz de usuario**             | El diseño API-first permite una integración flexible                               | Construye interfaces de usuario personalizadas o usa herramientas de terceros        |
| **Ejecución de pagos**              | Tracer devuelve decisiones de validación; no mueve fondos                          | Ejecuta o bloquea los pagos en el sistema upstream según la decisión                 |

<Tip>
  Estos límites mantienen a Tracer rápido y predecible: devuelve decisiones de transacciones instantáneas con registros de auditoría completos.
</Tip>

## Integración

***

Tu sistema de autorización envía solicitudes de validación con el contexto completo de la transacción, y Tracer responde con una decisión, normalmente en menos de 35ms.

Con este **Payload-Complete Pattern**, todo el contexto que Tracer necesita llega en una sola solicitud. No hay llamadas externas durante la validación, y la latencia se mantiene predecible.

<Note>
  Tracer se ejecuta en modo single-tenant por defecto y admite operación multi-tenant cuando se despliega en modo SaaS o BYOC Multi-Tenant. En modo multi-tenant, la resolución y el aislamiento de tenants funcionan igual que en el resto de la plataforma. Consulta [Multi-tenancy](/es/platform/multi-tenancy) para el modelo y [Access Manager](/es/platform/access-manager) para el flujo de autenticación.
</Note>

Como todos los productos de Lerian, Tracer se distribuye con integración nativa de [Access Manager](/es/platform/access-manager). Cuando está habilitado, Access Manager gestiona la autenticación y autorización de las API de Tracer. Esta es una funcionalidad opcional disponible bajo el **modelo Enterprise**.

## Próximos pasos

***

<CardGroup cols={2}>
  <Card title="Explora la API de Tracer" icon="terminal" href="/es/reference/products/tracer/tracer-api-quick-start">
    Explora los endpoints para reglas de validación, límites de gasto y registros de auditoría.
  </Card>

  <Card title="Primeros pasos" icon="rocket" href="/es/products/tracer/getting-started">
    Configura Tracer y define tu primera regla de autorización.
  </Card>
</CardGroup>
