5개 파일핸드북 조항에서 검증된 정책까지
모든 정책은 구현하는 조항이나 확인된 답변을 명시합니다. 모델 문서에는 Mermaid 역할 상속 다이어그램과 각 정책의 근거가 포함됩니다.
spctl check로 검증되어 파일 저장소로 직접 가져올 수 있는.spdl.- 부서, 위치, 데이터 등급 및 금액에 대한 ABAC 조건.
- 허용, 거부 및 승인 경계를 포괄하는 실행 가능한 케이스.
Speedle AI · 두 가지 연결된 방향
AI를 활용해 접근 정책을 설계, 관리 및 검증하고, 동일한 정책을 AI 자체에도 적용합니다. MCP 인가, 권한 인식 RAG, AI 에이전트를 위한 최소 권한 등이 포함됩니다. 두 방향 모두 명확하고 집행 가능한 정책 결정에 기반합니다.
오픈 소스 Speedle 인가 엔진을 기반으로 구축되었습니다.
Use AI to manage access
사람들의 접근 관리를 돕는 AI: 정책 문서를 SPDL로 변환하는 오픈 소스 스킬, 정책 설계, 관리 및 검증을 위한 Speedle MCP 프리뷰, 계획된 AI 위험 탐지 접근 방식.
Speedle 정책 모델러 · 오픈 소스 에이전트 스킬사용 가능
직원 핸드북이나 규정을 읽고 명확하지 않은 부분에 대해 질문한 후 그 결과를 RBAC + ABAC 정책으로 모델링하는 에이전트 스킬입니다. 결코 규칙을 추측하지 않습니다.
5개 파일모든 정책은 구현하는 조항이나 확인된 답변을 명시합니다. 모델 문서에는 Mermaid 역할 상속 다이어그램과 각 정책의 근거가 포함됩니다.
spctl check로 검증되어 파일 저장소로 직접 가져올 수 있는 .spdl.영어 + 중국어두 실행 모두 가상의 직원 핸드북에서 시작하여 검증된 모델로 완료됩니다. 각각 spctl check를 통과하고 로컬 PMS 및 ADS에서 37개 인가 케이스를 모두 통과했습니다.
entity로 모델링된 급여 서비스 계정.이 패키지는 에이전트 스킬 형식을 따릅니다: name 및 description 프론트매터가 포함된 SKILL.md와 참조 문서, 스크립트 및 예제가 포함됩니다. 해당 형식을 지원하는 모든 에이전트에서 작동합니다. 일반적인 설치의 경우 스킬 폴더를 에이전트의 스킬 디렉터리에 복사한 다음 에이전트에게 핸드북 모델링을 요청하세요. 아래 예제는 호환되는 두 에이전트를 보여줍니다.
spctl — — spctl check -f policies.spdl로 생성된 SPDL을 검증합니다.speedle-pms and speedle-ads — — 로컬 Speedle에서 엔드투엔드 인가 케이스를 실행합니다.scripts/run-cases.py의 테스트 케이스를 실행합니다.claude plugin marketplace add teramoby/ai.speedle.io
claude plugin install speedle@speedle
# Claude Code에서:
/plugin configure speedle@speedle
/speedle:speedle-policy-modeler ./employee-handbook.md
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/
# Codex CLI 또는 IDE 확장 프로그램에서:
$speedle-policy-modeler ./employee-handbook.md
Speedle MCP프리뷰
@speedle/mcp는 npm에 배포되어 있습니다. 로컬 stdio MCP 서버로 실행되는 speedle-mcp 바이너리가 포함된 단일 패키지입니다.
checkcheck 모드는 기본적으로 is_allowed만 등록하고 ADS 구성만 읽습니다. diagnose, all_granted_roles, all_granted_permissions는 --expose-diagnose, --expose-all-granted-roles, --expose-all-granted-permissions 플래그를 통해 선택적으로 활성화됩니다. diagnose는 자체 호스팅 Speedle에서만 작동하며 Speedle Cloud를 대상으로는 서버가 시작되지 않습니다. 인가 관련 질의에 응답할 뿐 호출 애플리케이션에서 직접 정책을 강제하지는 않습니다.
managemanage 모드는 관리 도구만 등록하며 PMS REST API를 통해 Speedle 정책을 설계하고 관리하기 위한 PMS 구성만 읽습니다.
Node.js 22 이상이 필요합니다. 이 예제들은 공개된 패키지 README와 일치합니다. 위의 Claude Code 플러그인은 @speedle/mcp@0.2.1로 고정되어 있습니다.
npm install @speedle/mcp
npx @speedle/mcp check
npx @speedle/mcp manage
{
"mcpServers": {
"speedle-check": {
"command": "npx",
"args": ["-y", "@speedle/mcp", "check"],
"env": {
"SPEEDLE_ENDPOINT": "http://127.0.0.1:6734",
"SPEEDLE_SERVICE_NAME": "books"
}
}
}
}
{
"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"
}
}
}
}
{
"mcpServers": {
"speedle-manage": {
"command": "npx",
"args": ["-y", "@speedle/mcp", "manage"],
"env": {
"SPEEDLE_PMS_ENDPOINT": "http://127.0.0.1:6733"
}
}
}
}
AI는 단일 규칙에서 파악하지 못하는 위험을 찾기 위해 더 많은 차원과 관계를 살펴볼 수 있습니다. 이는 Speedle이 탐색하고 구축 중인 방향이며 정식 출시된 기능이 아닙니다. 정책이 거부권을 유지합니다: 위험 신호는 조사나 보호를 강화할 수 있지만 거부를 허용으로 변경하지는 않습니다.
목표 흐름 보기Control what AI can access
AI 시스템이 데이터, 모델, 도구 및 다른 에이전트와 접하는 모든 위치에 적용되는 Speedle의 정책 엔진: 모델 제공 전의 빌드 단계와 제공 및 동작 중인 실행 단계. 이는 솔루션 패턴이며 특정 ML 또는 에이전트 플랫폼과의 완성형 연동 기능이 아닙니다.
개념
각 영역에는 애플리케이션 내의 집행 포인트가 있습니다. 동작하기 전에 Speedle에 확인하고 그 결정을 집행합니다.
솔루션 패턴
영역별 한 문장과 하나의 대표 규칙. 각 확인에 필요한 속성을 포함한 전체 SPDL 예제는 패턴 페이지에 있습니다.
빌드 · 01 데이터 및 훈련
훈련 작업은 데이터셋을 읽고 체크포인트를 작성합니다. 동의 및 리전은 데이터셋별로 확인되며 제한된 데이터는 훈련에 절대 포함되지 않습니다.
grant role training-pipeline read expr:^/datasets/ if consent == true && data_region == job_region
빌드 · 02 모델 배포
등록, 승인, 승격 및 롤백은 별도의 작업이며, 자신이 훈련한 모델을 직접 승인할 수 없습니다.
deny role release-manager approve expr:^/models/ if trained_by == request_user
실행 · 03 추론 및 RAG
리트리버는 문서 내용이 프롬프트에 들어가기 전에 각 문서에 대해 확인하므로 모델은 사용자가 읽을 수 있는 권한이 있는 내용만 보게 됩니다.
grant role tenant-user retrieve expr:^/collections/ if doc_tenant == user_tenant && doc_label in user_clearances
실행 · 04 사용자를 대신하는 에이전트
에이전트는 위임 토큰 범위 내에서 확인된 후 위임 사용자의 현재 권한으로 확인됩니다.
grant entity triage-agent in-time if request_time < token_expires
실행 · 05 도구 호출(MCP)
모든 도구 호출은 실행 전에 확인되며, 인수는 정책이 제한할 수 있는 속성이 됩니다.
grant role billing-agent call /tools/issue-refund if amount <= 100 && customer_verified == true
실행 · 06 에이전트 간 호출(A2A)
각 홉이 확인되며, 호출 수신자는 호출자가 이미 보유한 범위만 받을 수 있습니다.
grant role planner-agent call /agents/researcher if IsSubSet(requested_scopes, caller_scopes) && hops <= 2
실행 · 07 상시 권한 배제 · 자체 호스팅
적절한 발급 및 통제가 이루어질 때, 즉시 발급되는 수명이 짧은 토큰은 상시 권한 배제 패턴을 지원할 수 있습니다. Speedle은 ZSP 전략을 정책으로 정의하고 모든 요청에 집행하는 공간입니다: 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)
공통 관심사
신원, 감사, 위험 매핑 및 경계는 빌드 및 실행의 모든 영역에 적용됩니다.
신원 통합
Speedle은 인가 결정 포인트입니다. 인증은 사용자와 에이전트 모두를 위해 IdP 또는 OAuth 인가 서버에서 제공되며, MCP 인가는 OAuth를 기반으로 구축됩니다. 애플리케이션은 검증된 신원을 주체(사용자, 그룹, 엔티티)에 매핑한 후 Speedle에 요청합니다.
감사 및 설명 가능성
Speedle의 진단 API는 결정, 이유, 유효한 역할 및 일치한 정책과 이유를 포함하여 검사된 정책을 반환합니다. 애플리케이션은 에이전트 및 위임한 사용자와 함께 각 결정을 기록합니다. 진단은 정책 및 요청 세부 정보를 노출하므로 신뢰할 수 있는 운영자에게만 제한해야 합니다.
위험 매핑
OWASP LLM 애플리케이션 10대 위험 2025에서는 과도한 에이전시(Excessive Agency)를 지목합니다: 작업에 필요한 것보다 더 많은 기능, 권한 또는 자율성을 가진 에이전트입니다. 에이전트별 역할, 도구별 확인, 작업 및 시간에 한정된 위임, 고위험 작업에 대한 사람의 승인을 통해 이 세 가지를 각각 좁힐 수 있습니다.
경계
Speedle은 프롬프트 주입을 탐지하거나 모델 입력 및 출력을 필터링하거나 모델 및 데이터셋 공급망을 검증하지 않습니다. 이러한 작업에는 전용 제어 장치를 사용하세요. 손상되었거나 잘못 유도된 에이전트가 수행할 수 있는 작업을 제한합니다: 프롬프트 내용에 관계없이 정책 범위를 벗어난 모든 요청에 대해 Speedle은 거부를 반환합니다.
생태계
오픈 소스 인가 엔진 및 가독성 높은 SPDL 정책 언어.
호스팅형Speedle Cloud출시 예정Speedle 정책 엔진을 기반으로 구축된 개발자용 호스팅형 인가.
통합Speedle SDK결정 API를 위한 Python, Go, Java, C#, Rust 및 Node.js 클라이언트.
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")
# docs 서비스가 alice에게 get /docs/public을 부여하면 True가 됩니다
간단한 예시입니다. SDK 문서에서 각 언어 클라이언트, 요청 모델 및 오류 처리를 다룹니다. Node.js 클라이언트는 npm에 배포되어 있습니다: npm install @speedle/sdk.
오픈 소스 · 열린 탐색
다음 예제를 함께 만들어 가세요. 애플리케이션에서 보호해야 하는 데이터셋, 모델, 도구 또는 에이전트 워크플로를 공유해 주세요.
Speedle은 Oracle Speedle에서 시작되었으며 Universal Permissive License(UPL) 1.0에 따라 원 개발자들에 의해 지속적으로 유지 관리되고 있습니다. 프로젝트 스토리 읽기.