Modos de despliegue: ejecuta el motor en local o en la nube

Dos formas de ejecutar el motor: en local, en tu máquina, o en la nube de AfterPack con una clave Pro.

Un modo de despliegue cambia dónde se hace el trabajo y qué toca tu código fuente. No cambia lo que hacen las transformaciones: la misma entrada y los mismos ajustes producen la misma protección dondequiera que se ejecute el motor. AfterPack funciona en dos modos.

Modo 1: Local (Free)

npx afterpack@latest <path> ejecuta AfterPack de forma nativa en tu máquina, igual que cualquier plugin de framework sin una key configurada. Tu código fuente nunca sale de tu sistema de archivos. Instalas, compilas y listo. Sin cuenta, sin clave, sin ida y vuelta por la red para la ofuscación en sí.

Es la vía por defecto y la que debería seguir casi cualquier build.

Dos ajustes exclusivos de Pro se comportan de otra forma aquí: los flags de refuerzo transforms.selfIntegrity.enabled y transforms.comparisonHardening.enabled no se aplican, y una directiva @afterpack por región que aumenta la protección detiene el build. Consulta Pro.

Una llamada de red que no es ofuscación

Un build que emite un diagnóstico error o critical envía diagnósticos anónimos del build: código, severidad, versiones y recuentos agrupados por rangos, nunca código fuente. Un build limpio no envía nada. Desactívalo con AFTERPACK_telemetry_enabled=false, o con telemetry.enabled en las opciones de tu plugin. Más detalles en Privacidad y manejo de datos.

Modo 2: Nube de AfterPack (Pro)

El mismo paquete, más una key. Es una clave de configuración normal, que se puede establecer de las tres formas que cualquier otra: --key=ap_v1_… en la línea de comandos, AFTERPACK_key=ap_v1_… en el entorno o "key" en afterpack.json. El flag tiene prioridad sobre el entorno, y el entorno sobre el archivo; Configuración tiene la regla de precedencia completa.

Una clave va en el entorno, no en la línea de comandos

--key= existe para una ejecución local puntual. Una línea de comandos acaba en el historial del shell, en los logs de CI y en la salida de ps, así que usa AFTERPACK_key para cualquier cosa compartida. No hay paso de inicio de sesión ni credencial aparte: la clave del panel es todo lo que necesitas.

Cuando se resuelve una key, el motor agrupa tus archivos en lotes y llama a POST /v1/obfuscate/batch. La nube ejecuta el build del motor Pro y devuelve la salida ofuscada en streaming a medida que termina cada archivo; tu build escribe cada resultado según llega. El código fuente se procesa solo en memoria y no se conserva. Se almacena un único artefacto: el Protection Map de cada build, que alimenta el panel y que puedes desactivar por proyecto. El contrato de comunicación completo está en la referencia de la API en la nube.

Si la nube cae, falla de forma segura (fail closed). Si la nube no es accesible (fallo de DNS, conexión rechazada, reintentos agotados ante un 5xx o un tiempo de espera agotado en la petición), el build falla en lugar de recurrir a la salida del nivel Free. Diagnósticos define esa regla y los códigos de salida que la respaldan.

El cliente reintenta 503/504 con un calendario de 1 s / 4 s / 16 s (cuatro intentos en total) y respeta el Retry-After de un 429 exactamente una vez antes de rendirse. Cualquier otro estado no se reintenta y aparece como un fallo del build con el propio código de diagnóstico de la API.

Cómo elegir entre ellos

SituaciónModo
Por defecto: cero fricción, nada sale de tu máquinaModo 1 (Local)
Quieres que las directivas por región se apliquen de verdadModo 2 (Nube)
Quieres Protection Maps almacenados y el historial de builds en el panelModo 2 (Nube)
Por cumplimiento normativo, el código fuente no puede salir de tu infraestructuraModo 1 (Local)

Otras formas de despliegue

Cloudflare Workers

El motor es lo bastante pequeño como para ejecutarse dentro de un Cloudflare Worker, y ahí es donde se ejecutan los builds en la nube: tu bundle se transforma en un isolate de Worker y se devuelve en milisegundos, y un archivo demasiado grande para un Worker pasa a un contenedor automáticamente. Puedes ejecutar AfterPack en tu propio Worker de la misma forma: consulta Ejecutar AfterPack en un Cloudflare Worker.

Desde tu propio Worker, pasa tu clave Pro a la misma llamada a obfuscate() y el build se ejecuta en el Modo 2, en la nube de AfterPack: consulta Pro, desde tu propio Worker.

Código fuente que no puede salir de tu infraestructura

El Modo 1 ya resuelve esto: Free, local, sin llamada de red, nada que revisar. Para un despliegue Pro privado dentro de tu propia cuenta, consulta Enterprise; no es algo que puedas activar hoy.

Siguiente