Speedle AI · Dos direcciones conectadas

Use la IA para gestionar el acceso y controle el acceso de la IA

Use la IA para diseñar, gestionar y verificar políticas de acceso, y aplique la misma política a la propia IA: autorización MCP, RAG con reconocimiento de permisos y mínimo privilegio para agentes de IA. Ambas direcciones se basan en decisiones de políticas claras y aplicables.

Construido sobre el motor de políticas de código abierto Speedle.

Use AI to manage access

Ponga la IA a trabajar en sus políticas de acceso

La IA ayudando a las personas a gestionar el acceso: una habilidad de código abierto que convierte documentos de políticas en SPDL, una vista previa de Speedle MCP para diseñar, gestionar y verificar políticas, y un enfoque planificado de detección de riesgos de IA.

Modelador de políticas Speedle · Habilidad de agente de código abiertoDisponible

Convierta documentos de políticas en SPDL revisable

Una habilidad de agente que lee un manual de empleados o una normativa, pregunta sobre lo que el documento deja abierto y modela el resultado como políticas RBAC + ABAC. Nunca adivina una regla.

Lo que produce5 archivos

De las cláusulas del manual a las políticas probadas

Cada política cita la cláusula que implementa o una respuesta confirmada. El documento del modelo incluye un diagrama Mermaid de herencia de roles y la justificación de cada política.

  • .spdl importable para el almacén de archivos, verificado con spctl check.
  • Condiciones ABAC para departamento, ubicación, clase de datos e importe.
  • Casos ejecutables que cubren límites de permisos, denegaciones y aprobaciones.
Abrir la carpeta de la habilidad
Salida de ejemploEN + ZH

Un manual ficticio, modelado de extremo a extremo

Ambas ejecuciones comienzan a partir de un manual de empleados ficticio y terminan con un modelo probado. Cada uno pasa spctl check y los 37 casos de autorización en un PMS y ADS local.

  • Herencia de roles y un rol de gerente delimitado por departamento.
  • Una denegación explícita que anula una concesión amplia a empleados.
  • Una cuenta de servicio de nómina modelada como entity.
Leer el ejemplo en inglés

El paquete sigue el formato Agent Skills: un SKILL.md con frontmatter de name y description, más referencias, scripts y ejemplos. Funciona con cualquier agente que admita ese formato. Para una instalación genérica, copie la carpeta de la habilidad en el directorio de habilidades de su agente y pídale que modele su manual. Los siguientes ejemplos muestran dos agentes compatibles.

Requisitos previos

  • spctl — — valida el SPDL generado con spctl check -f policies.spdl.
  • speedle-pms and speedle-ads — — ejecutan los casos de autorización de extremo a extremo en un Speedle local.
  • Python 3 — — ejecuta los casos de prueba en scripts/run-cases.py.
instalar + usarClaude Code · ejemplo
claude plugin marketplace add teramoby/ai.speedle.io
claude plugin install speedle@speedle

# En Claude Code:
/plugin configure speedle@speedle
/speedle:speedle-policy-modeler ./employee-handbook.md
instalar + usarCodex · ejemplo
git clone --depth 1 https://github.com/teramoby/ai.speedle.io.git
mkdir -p ~/.agents/skills
cp -R ai.speedle.io/skills/speedle-policy-modeler \
  ~/.agents/skills/

# En la CLI de Codex o la extensión de IDE:
$speedle-policy-modeler ./employee-handbook.md

Speedle MCPVista previa

Speedle MCP: un paquete, dos modos deliberadamente separados

@speedle/mcp está publicado en npm. Es un paquete con un binario speedle-mcp que se ejecuta como un servidor MCP stdio local.

Leer el README
Modo 01check

Comprobaciones de autorización

El modo check registra solo is_allowed de forma predeterminada y solo lee la configuración de ADS. diagnose, all_granted_roles y all_granted_permissions son opcionales mediante los indicadores --expose-diagnose, --expose-all-granted-roles y --expose-all-granted-permissions. diagnose funciona solo con Speedle autohospedado; el servidor no se iniciará con él en Speedle Cloud. Responde preguntas de autorización; no aplica nada en la aplicación que realiza la llamada.

  • Comprobaciones de autorización de solo lectura a través de la API REST de Speedle ADS.
  • Sujeto, recurso, acción y atributos tipados como entradas.
  • URL base de ADS, nombre de servicio y token de portador opcional desde variables de entorno.
Leer la configuración del modo check
Modo 02manage

Diseño y gestión de políticas

El modo manage registra solo las herramientas de gestión y solo lee la configuración de PMS para diseñar y gestionar políticas de Speedle a través de la API REST de PMS.

  • Servicios, políticas de autorización y políticas de roles.
  • Políticas vigentes como SPDL; PMS valida cada política al crearla.
  • Una opción de solo lectura; las eliminaciones destructivas requieren confirmación explícita del objetivo.
Leer la configuración del modo manage

Requiere Node.js 22 o posterior. Estos ejemplos coinciden con el README del paquete publicado. El complemento de Claude Code anterior fija @speedle/mcp@0.2.1.

instalarnpm · npx
npm install @speedle/mcp

npx @speedle/mcp check
npx @speedle/mcp manage
modo checkautohospedado
{
  "mcpServers": {
    "speedle-check": {
      "command": "npx",
      "args": ["-y", "@speedle/mcp", "check"],
      "env": {
        "SPEEDLE_ENDPOINT": "http://127.0.0.1:6734",
        "SPEEDLE_SERVICE_NAME": "books"
      }
    }
  }
}
modo check · opcionalautohospedado
{
  "mcpServers": {
    "speedle-check": {
      "command": "npx",
      "args": [
        "-y",
        "@speedle/mcp",
        "check",
        "--expose-diagnose",
        "--expose-all-granted-roles",
        "--expose-all-granted-permissions"
      ],
      "env": {
        "SPEEDLE_ENDPOINT": "http://127.0.0.1:6734",
        "SPEEDLE_SERVICE_NAME": "books"
      }
    }
  }
}
modo manageautohospedado
{
  "mcpServers": {
    "speedle-manage": {
      "command": "npx",
      "args": ["-y", "@speedle/mcp", "manage"],
      "env": {
        "SPEEDLE_PMS_ENDPOINT": "http://127.0.0.1:6733"
      }
    }
  }
}

Detección de riesgos de IA

Planificado

La IA puede analizar más dimensiones y relaciones para encontrar riesgos que una sola regla no detecta. Esta es una dirección que Speedle está explorando y desarrollando, no una característica definitiva. La política mantiene el veto: una señal de riesgo puede añadir supervisión o protección, pero nunca convierte una denegación en una autorización.

Ver el flujo objetivo

Control what AI can access

Gobierne el acceso mientras construye y ejecuta IA

El motor de políticas de Speedle aplicado dondequiera que los sistemas de IA interactúan con datos, modelos, herramientas y otros agentes: en la fase de construcción, antes de que el modelo esté en servicio, y en la fase de ejecución, mientras sirve y actúa. Estos son patrones de solución, no integraciones predeterminadas con ninguna plataforma de ML o agentes.

Concepto

Un único punto de decisión para construir y ejecutar IA

Cada área tiene un punto de aplicación en su aplicación. Consulta a Speedle antes de actuar y aplica la respuesta.

Concepto: Conceptoo: Speedle como punto de decisión para construir y ejecutar IA An identity band at the top: your IdP and OAuth authenticate users and agents, MCP authorization builds on OAuth, and the principals flow into Speedle. On the left, the Build lane has two areas: data and training, asked by the data loader and job scheduler; and model release, asked by the model registry and release pipeline. On the right, the Run lane has four areas: inference and RAG, asked by the retriever per document and the API gateway; agents acting for users, asked by the agent runtime about the agent’s token scope and then the delegating user; tool calls over MCP, asked by the MCP host or gateway; and agent-to-agent calls, asked by the calling or receiving agent. Every area's enforcement point sends a request to Speedle's policy decision point in the centre and receives allow or deny. From Speedle, decisions and their explanations flow into the audit and explain band at the bottom: the diagnose API shows which policy matched and why, and applications registran cada decisión con el agente y el humano delegador. ENTRADA DE IDENTIDAD Aspectos transversales Su IdP y OAuth autentican usuarios y agentes. La autorización MCP se basa en OAuth. La aplicación los pasa como entidades principales. Speedle decide sobre las entidades principales que recibe. entidades principales CONSTRUCCIÓN antes de poner en servicio un modelo EJECUCIÓN mientras la IA sirve y actúa 01 Datos y entrenamiento Cargador de datos, programador de tareas conjuntos de datos, tareas de entrenamiento, exportación de puntos de control 02 Publicación de modelos Registro de modelos, canalización de publicaciones registrar, aprobar, promocionar, revertir 03 Inferencia y RAG Recuperador por documento · pasarela 04 Agentes actuando en nombre de usuarios Entorno de ejecución · usuario + agente 05 Llamadas a herramientas (MCP) Host o pasarela MCP, por llamada 06 Llamadas entre agentes (A2A) Agente emisor o receptor SPEEDLE Punto de decisión de políticas Evalúa la política SPDL para las solicitudes de cada área permitir | denegar decisión + motivo SALIDA DE AUDITORÍA Y EXPLICACIÓN Aspectos transversales Cada decisión se puede explicar con la API diagnose de Speedle: qué política coincidió y por qué. Las aplicaciones registran cada decisión con el agente y el humano delegador. Concepto: Conceptoo: Speedle como punto de decisión para construir y ejecutar IA Stacked from top to bottom. Identity in: your IdP and OAuth authenticate users and agents, MCP authorization builds on OAuth, and the application passes the principals to Speedle. Speedle's policy decision point evaluates SPDL policy and answers allow or deny. Every area's enforcement point asks it. Build lane: data and training, asked by the data loader and job scheduler; model release, asked by the model registry and release pipeline. Run lane: inference and RAG, asked by the retriever per document and the API gateway; agents acting for users, asked by the agent runtime about the agent’s token scope and then the delegating user; tool calls over MCP, asked by the MCP host or gateway per call; agent-to-agent calls, asked by the calling or receiving agent. Audit and explain out: the diagnose API shows which policy matched and why, and applications registran cada decisión con el agente y el humano delegador. ENTRADA DE IDENTIDAD Aspectos transversales Su IdP y OAuth autentican usuarios y agentes. MCP authorization builds on OAuth. Speedle decide sobre las entidades principales que recibe. entidades principales SPEEDLE Punto de decisión de políticas Evalúa la política SPDL permitir | denegar CONSTRUCCIÓN antes de poner en servicio un modelo EJECUCIÓN mientras la IA sirve y actúa 01 Datos y entrenamiento Cargador de datos, programador de tareas 02 Publicación de modelos Registro de modelos, canalización de publicaciones 03 Inferencia y RAG Recuperador por documento · pasarela 04 Agentes actuando en nombre de usuarios Entorno de ejecución usuario + agente 05 Llamadas a herramientas (MCP) Host o pasarela MCP, por llamada 06 Llamadas entre agentes (A2A) Agente emisor o receptor SALIDA DE AUDITORÍA Y EXPLICACIÓN Cada decisión se puede explicar con la API diagnose de Speedle. Qué política coincidió y por qué. Apps registran cada decisión con el agente y el humano delegador.
El punto de aplicación consulta a Speedle: sujeto, acción, recurso, atributos. Speedle responde permitir o denegar; la aplicación lo aplica.

Patrones de solución

Un patrón de políticas por área

Una frase y una regla representativa por área. Los ejemplos completos de SPDL, con los atributos que necesita cada comprobación, están en la página de patrones.

Construcción · 01 Datos y entrenamiento

Datos y entrenamiento

Los trabajos de entrenamiento leen conjuntos de datos y escriben puntos de control; el consentimiento y la región se verifican por conjunto de datos, y los datos restringidos nunca entran al entrenamiento.

grant role training-pipeline read expr:^/datasets/ if consent == true && data_region == job_region

Construcción · 02 Publicación de modelos

Publicación de modelos

Registrar, aprobar, promocionar y revertir son acciones independientes, y nadie aprueba un modelo que haya entrenado.

deny role release-manager approve expr:^/models/ if trained_by == request_user

Ejecución · 03 Inferencia y RAG

Inferencia y RAG

El recuperador consulta sobre cada documento antes de que su contenido ingrese al prompt, de modo que el modelo solo ve lo que el usuario tiene permiso para leer.

grant role tenant-user retrieve expr:^/collections/ if doc_tenant == user_tenant && doc_label in user_clearances

Ejecución · 04 Agentes actuando en nombre de usuarios

Agentes actuando en nombre de usuarios

El agente se verifica dentro del alcance de su token de delegación, luego se verifica el usuario delegador con sus permisos actuales.

grant entity triage-agent in-time if request_time < token_expires

Ejecución · 05 Llamadas a herramientas (MCP)

Llamadas a herramientas mediante MCP

Cada llamada a una herramienta se comprueba antes de ejecutarse, y los argumentos se convierten en atributos que la política puede limitar.

grant role billing-agent call /tools/issue-refund if amount <= 100 && customer_verified == true

Ejecución · 06 Llamadas entre agentes (A2A)

Llamadas de agente a agente

Se verifica cada salto, y el receptor solo puede recibir los alcances que el emisor ya posee.

grant role planner-agent call /agents/researcher if IsSubSet(requested_scopes, caller_scopes) && hops <= 2

Ejecución · 07 Privilegios permanentes cero · Autohospedado

Privilegios permanentes cero (ZSP)

Los tokens de corta duración emitidos justo a tiempo pueden admitir privilegios permanentes cero cuando la emisión y los controles están implementados. Speedle es donde define su estrategia ZSP como política y la aplica en cada solicitud: el acceso existe solo dentro del período de tiempo y las condiciones escritas en SPDL.

grant role agent-runtime invoke /api/orders if expires_at > issued_at && expires_at - issued_at <= 600 && issued_at <= request_time + 60 && not_before <= request_time + 60 && request_time < expires_at && TokenUnused(token_id)

Ver los patrones completos y ejemplos de SPDL

Aspectos transversales

Lo que todas las áreas tienen en común

Identidad, auditoría, mapeo de riesgos y límites se aplican a todas las áreas de construcción y ejecución.

Integración de identidad

Speedle decide; su IdP autentica

Speedle es el punto de decisión de autorización. La autenticación proviene de su IdP o servidor de autorización OAuth, tanto para usuarios como para agentes; la autorización MCP se basa en OAuth. La aplicación asigna identidades verificadas a entidades principales (usuario, grupos, entidad) antes de consultar a Speedle.

Auditoría y explicabilidad

Diagnóstico y registros de auditoría

La API diagnose de Speedle devuelve la decisión, el motivo, los roles efectivos y las políticas examinadas, incluido cuál coincidió y por qué. Las aplicaciones registran cada decisión con el agente y el humano delegador. Diagnose expone detalles de políticas y solicitudes, por lo que debe limitarse a operadores de confianza.

Mapeo de riesgos

Se asigna a OWASP LLM06:2025 Exceso de agencia

El documento OWASP Top 10 for LLM Applications 2025 identifica el Exceso de agencia: un agente con más funcionalidad, permisos o autonomía de los que requiere su tarea. Los roles por agente, las comprobaciones por herramienta, la delegación limitada por tarea y tiempo, y la aprobación humana para acciones de alto riesgo acotan cada uno de estos tres factores.

Límite

Dónde se detiene Speedle

Speedle no detecta la inyección de prompts, no filtra entradas o salidas de modelos ni verifica las cadenas de suministro de modelos y conjuntos de datos; utilice controles dedicados para ello. Limita lo que puede hacer un agente comprometido o engañado: Speedle responde con denegación a cualquier solicitud fuera de la política, sin importar lo que indique el prompt.

Ecosistema

Comience con los componentes básicos de Speedle

SDK de Python · solicitar una decisión0.2.0
from speedle import Auth, Client

with Client(backend="speedle", endpoint="http://localhost:6734",
            auth=Auth.none(), service_name="docs") as speedle:
    allowed = speedle.is_allowed("alice", "get", "/docs/public")
    # True una vez que el servicio docs conceda a alice get /docs/public

Un breve ejemplo; la documentación del SDK cubre cada cliente de lenguaje, el modelo de solicitud y el manejo de errores. El cliente de Node.js está publicado en npm: npm install @speedle/sdk.

Código abierto · Exploración abierta

Comparta un escenario real de autorización de IA

Ayude a dar forma a los próximos ejemplos. Comparta los conjuntos de datos, modelos, herramientas o flujos de trabajo de agentes que su aplicación necesita proteger.

Speedle nació de Oracle Speedle y continúa siendo mantenido por los desarrolladores originales bajo la Licencia Permisiva Universal (UPL) 1.0. Lea la historia del proyecto.