# Control de cambios

> Cada cambio de configuración en OpenWAF se simula, se confirma contra una versión, queda registrado con su motivo y su autor, y se puede deshacer.

OpenWAF trata la configuración de tus zonas como código bajo control de versiones. Cambies lo que cambies, desde el panel, la API, la CLI, los SDK o un asistente de IA por MCP, el cambio sigue el mismo camino:

1. **Simular.** El cambio se valida y se construye exactamente como se aplicaría, y después se deshace. Recibes las diferencias y la versión que crearía.
2. **Confirmar.** Lo aplicas indicando la versión que has visto. Si alguien ha cambiado la zona entretanto, no se aplica nada.
3. **Registrar.** El cambio crea una versión nueva y numerada de la zona con su autor, su motivo y una instantánea completa, además de una entrada en la auditoría de la organización.
4. **Propagar.** Cada nodo de borde que sirve la zona aplica la versión nueva, y puedes ver cuáles la tienen ya.
5. **Deshacer.** Volver a una versión anterior crea una versión nueva con aquella configuración. El historial nunca se reescribe.

- [Hacer y deshacer un cambio](https://developers.openwaf.dev/es/change-control/get-started/): cambia algo, lee sus diferencias, aplícalo y deshazlo en cinco minutos.
- [Versiones de la configuración](https://developers.openwaf.dev/es/change-control/versions/): qué contiene una versión, quién la crea y qué no se versiona.
- [Simular y después confirmar](https://developers.openwaf.dev/es/change-control/simulate-and-confirm/): simulaciones, versión esperada y conflictos de versión.
- [Propagación al borde](https://developers.openwaf.dev/es/change-control/propagation/): versión deseada frente a la versión que ha aplicado cada nodo de borde.
- [Auditoría](https://developers.openwaf.dev/es/change-control/audit-log/): quién cambió qué y cuándo, en toda la organización.
- [Volver a una versión anterior](https://developers.openwaf.dev/es/change-control/revert-a-zone/): restaura una versión anterior y qué pasa con los certificados.
- [Acciones de las versiones](https://developers.openwaf.dev/es/change-control/version-actions/): todas las acciones que pueden aparecer en el historial de una zona.
- [Errores](https://developers.openwaf.dev/es/change-control/errors/): los códigos de error de las escrituras versionadas y qué hacer con cada uno.


## Qué se versiona

Cada zona tiene su propio contador de versiones. Una versión recoge los registros DNS de la zona, sus ajustes de borde (WAF, origen, TLS, caché, redirecciones, límites de peticiones, agentes de IA…), sus reglas de borde, los grupos de nodos de borde que la sirven y una referencia a cada uno de sus certificados. Las claves privadas y los secretos nunca forman parte de una versión. Los detalles están en [Versiones de la configuración](https://developers.openwaf.dev/es/change-control/versions/).

## Dónde encontrarlo

| Interfaz | Historial y diferencias | Propagación | Auditoría |
|---|---|---|---|
| Panel | Dominio → **Cambios → Historial** | Dominio → **Cambios → Propagación** | **Auditoría** en la barra lateral |
| CLI | `zones history`, `zones diff`, `zones revert` | `zones propagation`, `--wait` | `audit` |
| API | `GET …/zones/{zone}/versions`, `…/diff`, `POST …/revert` | `GET …/zones/{zone}/propagation` | `GET /v1/orgs/{org}/audit` |
| MCP | `zone_history`, `zone_diff`, `revert_zone` | `zone_propagation` | `audit_log` |

La [CLI](https://developers.openwaf.dev/es/cli/), los [SDK](https://developers.openwaf.dev/es/sdk/), la [API](https://developers.openwaf.dev/es/api/) y el [servidor MCP](https://developers.openwaf.dev/es/mcp/) llaman todos a la misma API con la misma validación, así que un cambio se ve igual en el historial lo hayas hecho como lo hayas hecho.
