# Rotar la clave de Verify de una zona

> Sustituye la clave que firma los pases, retos y tokens de widget de Verify de una zona, de inmediato tras una filtración o con gracia en las rotaciones periódicas.

Cada zona tiene una clave con la que el borde firma los pases y retos del [reto de navegador](https://developers.openwaf.dev/es/waf/browser-challenge/) y los tokens del [widget de Verify](https://developers.openwaf.dev/es/waf/verify-widget/). Ahora puedes [rotarla](https://developers.openwaf.dev/es/waf/browser-challenge/#key-rotation). La clave nueva es aleatoria y nunca se muestra; la versión de configuración (`zone.challenge.key.rotate`) solo registra cuándo se rotó, y revertir nunca devuelve la clave antigua.

- **Inmediata**, por defecto, para una clave que puede haberse filtrado: en cuanto cada nodo de borde aplica la versión nueva, dejan de valer los pases, los retos en curso y los tokens de widget sin canjear firmados con la anterior. Los visitantes vuelven a resolver el reto; los tokens sin canjear fallan en siteverify con `invalid-input-response`.
- **Con gracia** (`grace_minutes`, de 1 a la vida más larga de los pases de la zona), para rotaciones periódicas: hasta entonces el borde sigue aceptando los pases y retos en curso firmados con la anterior y firma todo lo nuevo con la nueva.

Rota con `POST /v1/orgs/{org}/zones/{zone}/challenge/key/rotate` ([API](https://developers.openwaf.dev/es/api/verify/#rotate-challenge-key)), `openwaf-cloud ctl challenge rotate-key example.com [--grace-minutes 60] --reason "…"` o la herramienta MCP `rotate_challenge_key`. Como cualquier cambio de configuración, necesita un motivo, se puede simular antes y admite `expected_version`.
