# Frailen: la infraestructura de agentes para empresas de software

> Haz tu empresa agéntica en dos clics.

Frailen es la infraestructura de agentes para empresas de software. Conectas tu API una vez y los agentes operan tu producto a nombre de tus usuarios: con sus permisos, con freno en lo que tiene riesgo y con cada escritura comprobada.

- Pedir una demo: [/es/demo](/es/demo)
- Para desarrolladores: [/es/desarrolladores.md](/es/desarrolladores.md)
- Instálalo con tu agente de código: [/es/agentes.md](/es/agentes.md)
- Todo el sitio en un archivo: [/es/llms-full.txt](/es/llms-full.txt)

## Un pedido, por dentro

Un ejemplo en Acme Billing, un producto inventado. Un usuario escribe: «Reembolsa la factura F-2291, al cliente le cobraron dos veces». El motor pasa por estos pasos:

1. **Canal:** chat dentro de Acme Billing.
2. **Identidad:** sesión firmada por Acme Billing · María, finanzas.
3. **Enrutador:** las herramientas de facturación, con el índice de todas.
4. **Modelo:** reembolsar la factura F-2291 por 480 USD.
5. **Política de daño:** mueve dinero, así que María confirma en la tarjeta.
6. **Ejecutor:** `POST /v1/invoices/F-2291/refunds`, con una Idempotency-Key.
7. **Relectura:** estado = reembolsada · verificado.
8. **Respuesta:** «Reembolsé 480 USD. Lo releí y quedó».

## Instálalo con tu agente de código

Lo deja listo el agente que ya usas: Claude Code, Cursor, Codex, GitHub Copilot, Gemini CLI, Windsurf o cualquier agente que lea una URL y edite archivos. Copia esta línea en él:

```text
Prepara Frailen por mí. Lee https://frailen.com/es/get-started.md y síguelo.
```

Apunta a [/es/get-started.md](/es/get-started.md), una guía que el agente sigue en una rama. Una persona aprueba las herramientas y prende el agente.

## Un modelo con las llaves de tu API puede actuar como cualquiera. Frailen no.

Conectar un modelo a tu API es fácil. Lo difícil es todo lo que pasa cuando se equivoca. Frailen es esa capa, para cualquier agente que pongas encima.

| Conectarlo por tu cuenta | Con Frailen |
| --- | --- |
| Actúa con una llave de servicio que puede hacer de todo. | Actúa con la sesión del usuario: si él no puede hacerlo, el agente tampoco. |
| El prompt decide qué necesita aprobación. | El freno vive en el código, marcado en cada herramienta según el daño que puede hacer. |
| Una respuesta 200 cuenta como hecho. | Cada escritura se relee: verificado, no aparece o no se pudo leer. |
| Un timeout se reintenta, y a veces pasa dos veces. | Una Idempotency-Key por escritura; lo incierto nunca se repite a ciegas. |
| Los registros quedan repartidos entre servicios. | Una bitácora que solo crece: qué hizo, a nombre de quién y cómo salió. |
| Los datos de un cliente pueden colarse en el contexto de otro. | Cada fila lleva la empresa y la base impone el aislamiento, también al motor de Frailen. |

## Una conexión. Cualquier producto con API.

El mismo motor decide, herramienta por herramienta, qué va directo, qué espera un clic y qué no intenta. Pedidos de ejemplo en productos inventados:

| Producto | Pedido | Lo que decide el freno |
| --- | --- | --- |
| Facturación | «Reembolsa la factura F-2291» | Pide confirmación: mueve dinero |
| Logística | «Pasa las 40 recogidas de mañana al jueves» | Pide confirmación: toca a muchos de golpe |
| Recursos humanos | «Dale a Sofía el rol de administradora» | Pide confirmación: cambia un rol, se confirma siempre |
| CRM | «Mándale esta cotización al cliente» | Pide confirmación: le llega a un tercero |
| Clínicas | «Mueve la cita de María al viernes a las 3» | Se hace directo: se deshace y no le llega a nadie más |
| Facturación | «Borra las facturas de prueba» | No lo intenta: quien lo pide no tiene ese permiso en tu producto |

Hoy el primer agente es el de soporte dentro de tu producto. Las mismas herramientas, el freno y la relectura sirven para los que vengan después.

## El freno lo decide tu equipo, no el modelo.

Cada herramienta lleva marcado el daño que puede hacer. Con eso, el código decide qué va directo y qué espera un clic de la persona, diga lo que diga el modelo.

- **Mueve dinero:** cobros, precios, cortesías, devoluciones.
- **Toca a muchos de golpe:** cambios o avisos sobre muchos registros a la vez.
- **Le llega a terceros:** correos, WhatsApp, avisos a clientes.
- **No se deshace:** borrar, cancelar, enviar.

Cambiar con qué entra alguien (correo, teléfono, credenciales o rol) se confirma siempre, diga lo que diga la herramienta. La confirmación es una tarjeta en la que la persona hace clic; un «sí» escrito no cuenta.

## De tu API al agente, en staging primero.

Nada llega a tus clientes hasta que tu equipo apruebe las herramientas, el banco de pruebas pase y alguien lo prenda.

1. **Conecta tu API.** El importador arma las herramientas desde tu OpenAPI, con su daño y su relectura. Tu equipo las revisa y aprueba.
2. **Pruébalo con tus casos.** Escribes los pedidos que debe resolver y la regla de cada uno. El banco los juzga releyendo tu API.
3. **Prende el agente en dos clics.** «Prender» y la passkey de quien lo aprueba. Desde ahí ves en el panel qué hizo, a nombre de quién y cuánto costó.

## Para quien lo integra: una etiqueta y una ruta.

El chat va en un iframe de Frailen. Tu backend firma quién es cada persona; Frailen nunca tiene una llave para firmar por nadie.

- **Las herramientas, desde tu OpenAPI.** Solo un GET puede leer; todo lo demás pasa por el freno.
- **La identidad, desde tu backend.** Una sesión ES256 y una ruta que la canjea por un token corto de esa persona.
- **El chat, con una etiqueta.** O con código o React, para pasarle lo que la persona tiene abierto.

```html
<script src="https://chat.frailen.com/chat/0.2.0/frailen.js"
  data-empresa="acme-billing" data-asercion="/frailen/asercion"></script>
```

## Seguro por cómo está hecho.

- **Sin llave maestra.** Frailen solo recibe tu llave pública. Sin la sesión de la persona, no puede actuar.
- **El token no se guarda.** Vive en memoria mientras dura la llamada. No va a la base ni a los registros.
- **Nada de una empresa mejora a otra.** Sin aprendizaje compartido entre empresas. Las cachés llevan la empresa en su clave y la base no deja leer lo de otra.

## Preguntas frecuentes

- **¿Qué necesitamos para integrarlo?** Tu OpenAPI (o solo la parte que el agente puede tocar), una ruta en tu backend que firme quién es cada usuario y una etiqueta para el chat. Todo corre primero en staging.
- **¿El agente toca nuestra base de datos?** No. Todo entra por tu API, con los permisos del usuario a cuyo nombre actúa.
- **¿Qué pasa si el modelo se equivoca?** El modelo solo elige. El código arma la llamada, aplica el freno y relee el resultado. Si una escritura no quedó, lo dice y pasa el caso a tu equipo.
- **¿Entrenan con nuestros datos?** No. Nada de lo que pasa en una empresa mejora a otra: sin aprendizaje compartido y con las cachés separadas por empresa.
- **¿Qué modelos usa?** Modelos de Google Cloud, en una región fija. Los elige Frailen y los mide con tu banco de pruebas.
- **¿Cuánto cuesta?** Un mínimo mensual con un cupo de tareas, nunca por puesto ni por token. Durante los pilotos no hay cobro. Mira [/es/precios.md](/es/precios.md).

## Más páginas

- Cómo funciona: [/es/producto.md](/es/producto.md)
- Seguridad y datos: [/es/seguridad.md](/es/seguridad.md)
- Precios: [/es/precios.md](/es/precios.md)
- Para desarrolladores: [/es/desarrolladores.md](/es/desarrolladores.md)
- Con tu agente: [/es/agentes.md](/es/agentes.md)
- Esta página en inglés: [/index.md](/index.md)
