En desarrollo · Sandbox disponible
Identidad verificada y mandatos para agentes, con estándares abiertos
Integra «Continuar con Avala» en tu sitio, haz que tu agente de IA actúe por una persona verificada con límites que ella controla, o verifica a los agentes que llegan a tu API. Todo con OpenID Connect, OAuth y credenciales firmadas que se verifican con llaves públicas.
Elige tu camino
Tres formas de construir con Avala
-
Tu sitio o app recibe identidades
Flujo de OpenID Connect con FAPI 2.0 (PAR, PKCE,
private_key_jwt, DPoP) yverified_claims. -
Tu agente actúa por una persona
Vinculación única, solicitudes de aprobación por CIBA, permisos continuos con límites, intercambio de tokens (RFC 8693) y comprobantes.
-
Tu API o servidor MCP acepta agentes
Verifica mandatos, comprobantes y firmas de Web Bot Auth con las llaves públicas de Avala, sin llamarnos en cada petición.
Servidor MCP
Cualquier asistente compatible con MCP puede usar Avala
avala-mcp es un servidor del Model Context Protocol. Con él, asistentes como Claude Desktop, Claude Code o ChatGPT actúan por una persona verificada sin código a la medida.
avala_link_person- Vincula a la persona una sola vez.
avala_request_permission- Pide permiso; la persona aprueba con su llave de acceso.
avala_list_permissions- Muestra qué puede hacer y cuánto presupuesto queda.
avala_check_action- Revisa cada acción contra los límites antes de hacerla.
avala_prepare_request- Arma los encabezados que prueban la autorización ante un sitio.
claude_desktop_config.json{
"mcpServers": {
"avala": {
"command": "/usr/local/bin/avala-mcp",
"env": {
"AVALA_ISSUER": "https://verificaid.link",
"AVALA_AGENT_CLIENT_ID": "mi-asistente",
"AVALA_AGENT_KEY": "~/.avala-mcp/agent.pem"
}
}
}
}
Verificar agentes
Comprueba la autorización con una sola llamada
El verificador revisa la firma del mandato, que el agente lo presentó para tu sitio y no se está reutilizando, la lista de estado (revocado o en pausa), que cubre la acción y el comprobante de un solo uso. Cada falla trae su propio código de error.
Avala cuenta los montos que declara el agente. Quien cobra es quien conoce el monto real: nunca cobres más de lo que dice el comprobante.
@avala/rpimport { MandateVerifier, amountWithin } from "@avala/rp";
const v = new MandateVerifier({
issuer: "https://verificaid.link",
audience: "https://tienda.example",
requireReceipt: true,
});
const { mandate, receipt } = await v.authorize(req, "purchase");
if (!amountWithin(order.total, receipt.receipt.amount)) {
return rechazar(); // nunca más de lo autorizado
}
Estándares que ya conoces
- OpenID Connect
- FAPI 2.0
- PAR
- PKCE
- DPoP
- RAR
- CIBA
- Token Exchange (RFC 8693)
- SD-JWT VC
- Token Status List
- Shared Signals (SSF, CAEP, RISC)
- Web Bot Auth (RFC 9421)
- Protected Resource Metadata (RFC 9728)
- WebAuthn / passkeys
Endpoints públicos
- Configuración de OpenID Connect (descubrimiento)
- Llaves públicas de Avala (JWKS para verificar tokens, mandatos y comprobantes)
- Configuración de Shared Signals (eventos de seguridad)
Pruebas
Mientras Avala está en desarrollo, RENAPO, INE y la prueba de vida usan proveedores de prueba: usas CURPs de ejemplo y eliges el resultado de la verificación. Los clientes de sandbox se aprueban al momento y solo funcionan fuera de producción.