# Trampa y laberinto

> Un enlace señuelo invisible que solo siguen los lectores automáticos y un laberinto lento de páginas generadas para los scrapers, lejos de tu origen.

## Trampa

Con `trap.enabled` (**Trampa señuelo** en el panel), el borde inserta antes de `</body>` de tus páginas HTML un bloque oculto (`<div hidden aria-hidden="true" data-nosnippet>`) con una nota breve en inglés y español dirigida a agentes de IA y un enlace `rel="nofollow noindex"` bajo `/__waf/ai/t/`.

- Las personas no lo ven. Es compatible con una Content Security Policy y no cambia la página en caché.
- Nunca se inserta para rastreadores verificados ni buscadores.
- Cada enlace lleva un token firmado que caduca a las 24 horas.
- Un cliente que lo sigue es automático: su IP y su huella TLS quedan marcadas 24 horas, se registra un evento `trap_hit` y a sus siguientes peticiones se les aplica la [clave `trap_hit`](https://developers.openwaf.dev/es/ai-crawl-control/categories/#policy-keys) de la política.

## Laberinto

Con `tarpit.enabled` (desactivado por defecto), la acción `tarpit` responde a las peticiones `GET` de HTML con un laberinto bajo `/__waf/ai/l/`: páginas baratas generadas en el borde, marcadas `noindex`, cada una con unos diez enlaces que van más hondo, servidas despacio y con límites por IP y globales. Tu origen nunca participa. Las peticiones que no son `GET` de HTML reciben `403`.

El laberinto solo actúa en modo `enforce` y nunca con rastreadores verificados.

## Activarlos

**Panel**

**Control de rastreadores IA → Resumen → Configuración**: **Trampa señuelo → Insertar el enlace señuelo** y **Laberinto → Laberinto (tarpit)**. Después elige `Laberinto` como acción de una categoría, como **Siguieron la trampa**.
**CLI**

```sh
openwaf-cloud ctl zones set example.com ai_agents.trap.enabled=true ai_agents.tarpit.enabled=true \
  ai_agents.policy.trap_hit=tarpit --reason "Trampa y laberinto para scrapers"
```
**API**

```json
{"ai_agents": {"trap": {"enabled": true}, "tarpit": {"enabled": true}, "policy": {"trap_hit": "tarpit"}}}
```
**MCP**

`ai_agents_settings` con `"patch": {"trap": {"enabled": true}, "tarpit": {"enabled": true}, "policy": {"trap_hit": "tarpit"}}`.


El informe **Trampas** enseña la trampa a lo largo del tiempo y quién la siguió.
