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

# Supply chain security

> Postura de cadena de suministro: pnpm 11, firma de binarios y scripts de instalación

Nexenv toma la seguridad de la cadena de suministro como un requisito, no como
un extra. Esta página explica la postura para usuarios y contribuidores.

<Note>
  **Estado:** parte ya está aplicado (pnpm 11 + cooldown, firma de binarios,
  lanzador sin postinstall). Algunos puntos siguen **pendientes** y están
  marcados como tal abajo.
</Note>

## Por qué

La mayoría de incidentes de cadena de suministro en el ecosistema JS/Python
llegan por dos vías: **scripts de instalación** que ejecutan código arbitrario
al instalar una dependencia, y **paquetes recién publicados** comprometidos.
Nexenv cierra ambas.

## En el repositorio (contribuidores)

* **pnpm 11** como gestor: `packageManager: "pnpm@11"`, `pnpm-lock.yaml`
  versionado, CI con `corepack enable` + `--frozen-lockfile`.
* **Cooldown de 24 h** (`minimumReleaseAge: 1440` en `pnpm-workspace.yaml`):
  no se instala una versión de dependencia hasta 24 h después de publicarse,
  mitigando paquetes comprometidos recién subidos.
* **Cero scripts de dependencias** (`allowBuilds: {}`): ninguna dependencia
  ejecuta lifecycle scripts en `install` salvo allowlist explícita.

## En la distribución (usuarios)

* **Binario firmado**: cada release se firma; Tauri verifica la firma minisign
  en cada update.
* **Wrappers npm/pip sin postinstall obligatorio**: el wrapper es un lanzador
  que descarga el binario de tu plataforma de forma **perezosa** (primer uso)
  y verifica **firma Ed25519 + SHA-256** antes de ejecutarlo. No hay ejecución
  de código en `install`.

## Pendiente

* [ ] **Secret `NEXENV_CLI_SIGNING_KEY`** en GitHub para activar la firma
  fuerte del CLI en CI (hoy corre en modo SHA-256 sin error).
* [ ] **Wrapper endurecido**: dependencias a cero, `--provenance`, auditoría
  CVE en CI, wrapper PyPI equivalente.
* [ ] **Proyectos del usuario**: flag `--ignore-scripts` seguro por defecto al
  gestionar dependencias de los proyectos del usuario, con aviso en la UI y
  opt-in consciente.
* [ ] **ADR-004** documentando la postura completa.

## Para tus proyectos

Cuando Nexenv gestione las dependencias de tus proyectos, aplicará la misma
filosofía: nada de ejecución silenciosa de scripts en `install` sin que lo
sepas. (Esta capa es la que sigue pendiente arriba.)
