> ## 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.

# Variables de entorno

> Variables de entorno de despliegue distintivas de Lerian SISBAJUD: los backends de KMS y almacén de secretos, el almacenamiento de objetos compatible con S3, el ciclo de vida criptográfico, los workers de dominio y el conector del ledger Midaz.

Lerian SISBAJUD es el rail propiedad de Lerian que cumple las órdenes judiciales de bloqueo de activos y protege los datos personales que estas contienen. Estas variables se definen en el momento del despliegue y requieren reiniciar el servicio para surtir efecto. El backbone universal que comparte cada servicio Go de Lerian —servidor, almacenes de datos, multi-tenancy, telemetría, autenticación de plugins y licenciamiento— se documenta una sola vez en la [referencia de configuración BYOC](/es/reference/byoc-configuration); esta página cubre solo las variables distintivas de Lerian SISBAJUD.

En las tablas siguientes, la columna **Valor por defecto / Requerida** muestra el valor por defecto; un calificador en negrita (por ejemplo **Requerida**, **Requerida si está habilitada**) marca las variables que deben definirse. `—` significa que no hay valor por defecto. Cualquier variable marcada como **Sensible** contiene material de credenciales o claves: inyéctala desde tu gestor de secretos en el momento del despliegue y nunca guardes un valor en el repositorio.

## Servicio y runtime

| Variable              | Valor por defecto / Requerida          | Descripción                                                                                                                                                                                                                                |
| --------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `SERVER_ADDRESS`      | `:4029`                                | Dirección de escucha HTTP principal. Las sondas de liveness, readiness, métricas y versión se enlazan a este mismo puerto.                                                                                                                 |
| `ENVIRONMENT_NAME`    | `staging`                              | Entorno de runtime: `staging` o `production`. Activa controles de seguridad más estrictos en `production`. `ENV_NAME` se acepta como nombre alternativo.                                                                                   |
| `SYSTEMPLANE_ENABLED` | `false`                                | Habilita la API de administración de configuración en tiempo de ejecución de [Systemplane](/es/reference/systemplane/overview) bajo el prefijo `/system` en el puerto principal. Desactivada por defecto (modo solo variables de entorno). |
| `DEFAULT_TENANT_ID`   | `11111111-1111-1111-1111-111111111111` | UUID de tenant usado en modo de un solo tenant. Aquí el tenant equivale a la institución. Debe ser un UUID válido.                                                                                                                         |

<Note>
  Lerian SISBAJUD expone `/health` (liveness) y `/readyz` (readiness) en el puerto principal, además de `/version` y `/metrics` y —cuando la multi-tenancy está habilitada— `GET /readyz/tenant/{id}`. Consulta [Salud y readiness](/es/reference/health-and-readiness) para el contrato de las sondas.
</Note>

## Backends de seguridad

Ambos selectores se validan al arrancar; un valor sin definir o no soportado falla el arranque de forma cerrada. Eligen los backends que protegen los datos de embargo ordenados por la justicia.

| Variable                           | Valor por defecto / Requerida | Descripción                                                                                                                                                                                                                                                                                 |
| ---------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `KMS_PROVIDER`                     | `vault` · **Requerida**       | Gestor de claves de cifrado de sobre: `vault` (HashiCorp Vault Transit) o `aws` (KMS en la nube). Se lee una vez al arrancar; no es recargable en caliente. No hay proveedor en memoria.                                                                                                    |
| `SECRET_STORE_PROVIDER`            | `local` · **Requerida**       | De dónde se leen los secretos del servicio: `vault` o `local`. `aws-secrets-manager` es un valor reconocido, pero un adaptador diferido (Fase 4) que aún no está cableado —seleccionarlo falla el arranque; usa `vault` o `local` hoy.                                                      |
| `CONNECTOR_CREDS_USE_SECRET_STORE` | `false`                       | Resuelve las credenciales de conector por institución desde el almacén de secretos en lugar de las credenciales de entorno. Solo `vault` o `local` están cableados para las credenciales de conector hoy; habilitar esto con `SECRET_STORE_PROVIDER=aws-secrets-manager` falla el arranque. |

<Note>
  Cada selector arrastra su propio bloque de acompañamiento, todos validados al arrancar: `vault` (para cualquiera de los selectores) requiere las variables de Vault de abajo; `KMS_PROVIDER=aws` usa la `AWS_REGION` compartida (por defecto `us-east-1`); `SECRET_STORE_PROVIDER=local` lee los secretos del entorno y no necesita ningún backend externo. El adaptador `aws-secrets-manager` está diferido y aún no está cableado —seleccionarlo (para secretos normales del servicio o para credenciales de conector) falla el arranque; usa `vault` o `local`. `SECRET_STORE_PROVIDER` es `local` por defecto cuando no se define, en entornos no productivos.
</Note>

### Vault (cuando `KMS_PROVIDER=vault` o `SECRET_STORE_PROVIDER=vault`)

| Variable                             | Valor por defecto / Requerida         | Descripción                                                                                             |
| ------------------------------------ | ------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `VAULT_ADDR`                         | **Requerida para el proveedor Vault** | Dirección del Vault del cliente.                                                                        |
| `VAULT_AUTH_METHOD`                  | `token`                               | Método de autenticación: `token` (`VAULT_TOKEN` estático) o `approle` (role id y secret id de AppRole). |
| `VAULT_TOKEN`                        | **Requerida si `token`**              | Token de servicio para Vault. Sensible.                                                                 |
| `VAULT_APPROLE_ROLE_ID`              | **Requerida si `approle`**            | Role id de AppRole. Sensible.                                                                           |
| `VAULT_APPROLE_SECRET_ID`            | **Requerida si `approle`**            | Secret id de AppRole. Sensible.                                                                         |
| `VAULT_TRANSIT_MOUNT_PATH`           | `transit`                             | Ruta de montaje del motor Transit usado para el cifrado de sobre.                                       |
| `VAULT_KV_MOUNT`                     | `sisbajud-secrets`                    | Ruta de montaje del motor KV que contiene las credenciales de conector por institución.                 |
| `VAULT_TOKEN_RENEW_ENABLED`          | `true`                                | Ejecuta un renovador en segundo plano que refresca el token de Vault antes de que caduque su lease.     |
| `VAULT_TOKEN_RENEW_MIN_INTERVAL_SEC` | `60`                                  | Piso, en segundos, entre intentos de renovación.                                                        |
| `VAULT_TIMEOUT_SEC`                  | `15`                                  | Tiempo de espera por petición, en segundos, para cada ida y vuelta a Vault.                             |

### AWS (cuando `KMS_PROVIDER=aws` o `SECRET_STORE_PROVIDER=aws-secrets-manager`)

| Variable           | Valor por defecto / Requerida | Descripción                                                                                                                                                                                                                                                                                                          |
| ------------------ | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AWS_REGION`       | `us-east-1`                   | Región compartida para los adaptadores de AWS: AWS KMS hoy, y el almacén de secretos de AWS cuando esté cableado. Por defecto es `us-east-1` cuando no se define; defínela explícitamente para que coincida con la región de tu cuenta. Las credenciales se resuelven a través de la cadena por defecto del AWS SDK. |
| `AWS_ENDPOINT_URL` | —                             | Sobrescritura de endpoint compatible con AWS. Déjala sin definir en entornos AWS reales para que el SDK use sus endpoints por defecto.                                                                                                                                                                               |

## Ciclo de vida criptográfico

El cifrado de sobre usa una clave de datos por registro sellada bajo la clave maestra de la institución, más un índice ciego para la búsqueda de coincidencia exacta sobre los identificadores fiscales.

| Variable                           | Valor por defecto / Requerida | Descripción                                                                                                                                                              |
| ---------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `SISBAJUD_DEK_CACHE_TTL`           | `5m`                          | Duración de una clave de cifrado de datos desenvuelta en la caché en memoria antes de volver a pedir al KMS que la desenvuelva. Cadena de duración de Go.                |
| `SISBAJUD_DEK_CACHE_MAX_ENTRIES`   | `50000`                       | Techo de las primitivas de clave de datos en caché; acota el heap durante un descifrado por lotes grande.                                                                |
| `SISBAJUD_HMAC_COEXISTENCE_WINDOW` | `720h`                        | Ventana durante la cual los hashes de índice ciego de la versión anterior de clave HMAC siguen siendo consultables tras una rotación de clave. Cadena de duración de Go. |
| `KEK_REWRAP_BACKFILL_ENABLED`      | `false`                       | Habilita el barrido en segundo plano que avanza las filas de clave de datos rezagadas a la versión de clave maestra activa tras una rotación.                            |
| `REHASH_BACKFILL_ENABLED`          | `false`                       | Habilita el barrido en segundo plano que rehashea las filas de índice ciego rezagadas a la nueva versión de clave HMAC primaria.                                         |

## Workers de dominio

El procesamiento de órdenes judiciales se ejecuta como un conjunto de crons en segundo plano por institución. Cada uno está desactivado por defecto y comparte los ajustes de cadencia `*_SCAN_INTERVAL` (segundos) y `*_BATCH_SIZE`.

| Variable                                     | Valor por defecto / Requerida | Descripción                                                                                                                                                                      |
| -------------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `EXECUTION_ENABLED`                          | `false`                       | Interruptor maestro del motor de ejecución de órdenes. Cuando está desactivado, el orquestador FIFO y el despacho posterior permanecen inactivos.                                |
| `ORCHESTRATOR_LOCK_TTL`                      | `30`                          | Lease del lock de ejecución por sujeto, en segundos.                                                                                                                             |
| `ORCHESTRATOR_RENEW_INTERVAL`                | `10`                          | Cadencia, en segundos, a la que el worker propietario renueva el lock. Debe mantenerse estrictamente por debajo de `ORCHESTRATOR_LOCK_TTL` o el arranque falla de forma cerrada. |
| `UNBLOCK_EXECUTION_SCAN_INTERVAL`            | `60`                          | Cadencia del barrido de desbloqueos pendientes en segundos. Comparte el control `EXECUTION_ENABLED`.                                                                             |
| `UNBLOCK_EXECUTION_BATCH_SIZE`               | `500`                         | Órdenes de desbloqueo pendientes procesadas por pasada de tenant.                                                                                                                |
| `PERMANENT_BLOCK_EXPIRY_ENABLED`             | `false`                       | Habilita el escaneo diario que expira los bloqueos permanentes vencidos.                                                                                                         |
| `RECONCILIATION_ENABLED`                     | `false`                       | Habilita el escaneo que reconcilia las órdenes de monitoreo contra el ledger y persiste las brechas detectadas.                                                                  |
| `RETURN_FILE_GENERATION_ENABLED`             | `false`                       | Habilita la generación de archivos de devolución SISBAJUD para las órdenes terminales no devueltas.                                                                              |
| `INFORMATION_RETURN_FILE_GENERATION_ENABLED` | `false`                       | Habilita la generación de archivos de respuesta de información AJUD309.                                                                                                          |
| `SLA_ALERT_ENABLED`                          | `false`                       | Habilita el evaluador que clasifica las órdenes activas por banda de riesgo de SLA y emite las bandas como métricas.                                                             |
| `RETURN_FILE_ENVIRONMENT`                    | `HOMOLOGATION`                | Entorno regulatorio estampado en los archivos de devolución generados.                                                                                                           |

## Almacenamiento de objetos

Los artefactos de embargo ordenados por la justicia se escriben en un almacén de objetos compatible con S3, ya cifrados: la capa de blobs nunca ve texto en claro.

| Variable                | Valor por defecto / Requerida | Descripción                                                                                                     |
| ----------------------- | ----------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `SEAWEEDFS_S3_ENDPOINT` | **Requerida**                 | Endpoint del almacén de objetos compatible con S3.                                                              |
| `SEAWEEDFS_BUCKET`      | `sisbajud`                    | Bucket para los artefactos de remesa y devolución (ya cifrados).                                                |
| `SEAWEEDFS_REGION`      | `us-east-1`                   | Etiqueta de región S3 requerida por el AWS SDK.                                                                 |
| `SEAWEEDFS_ACCESS_KEY`  | —                             | Clave de acceso del almacén de objetos. Sensible. Déjala en blanco cuando el almacén no necesite autenticación. |
| `SEAWEEDFS_SECRET_KEY`  | —                             | Clave secreta del almacén de objetos. Sensible. Déjala en blanco cuando el almacén no necesite autenticación.   |
| `STA_INBOUND_BUCKET`    | `sta-files`                   | Bucket que contiene los objetos de remesa en bruto a los que apunta una notificación de recepción.              |
| `STA_FILE_LOCK_TTL`     | `5`                           | TTL del lock de procesamiento por archivo, en minutos.                                                          |

## Conector del ledger Midaz

Lerian SISBAJUD lee saldos y bloqueos a través del ledger Midaz. `MIDAZ_BASE_URL` es requerida en todo el servicio.

| Variable              | Valor por defecto / Requerida    | Descripción                                                                                           |
| --------------------- | -------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `MIDAZ_BASE_URL`      | **Requerida**                    | URL base del ledger Midaz. El arranque falla de forma cerrada sin ella.                               |
| `MIDAZ_AUTH_ENABLED`  | `false`                          | Habilita la autenticación máquina a máquina hacia Midaz.                                              |
| `MIDAZ_AUTH_ADDRESS`  | **Requerida si está habilitada** | Dirección del servicio de autenticación para acuñar tokens de Midaz.                                  |
| `MIDAZ_CLIENT_ID`     | **Requerida si está habilitada** | Client id de OAuth para Midaz. Se ignora en modo multi-tenant (se resuelve por tenant).               |
| `MIDAZ_CLIENT_SECRET` | **Requerida si está habilitada** | Client secret de OAuth para Midaz. Sensible. Se ignora en modo multi-tenant (se resuelve por tenant). |
