Open-source authorization engine

Fast. Simple. Access control

Externalize fine-grained authorization with a human-readable policy language, centralized management and millisecond decisions across polyglot systems.

The original Speedle project continues here, maintained by its founding members.
Explore Speedle
Get started

Start with Speedle

Run a policy in your browser, add an SDK to your application, or run the engine on your own machine.

Try it in the Playground

Edit SPDL policies, send an authorization request and see the decision in your browser. Nothing to install.

Open the Playground

Run Speedle locally

Follow the Quick Start to run Speedle locally and evaluate your first policy.

Read the Quick Start
About Speedle

Authorization that stays out of your application code

Speedle is a general-purpose authorization engine for cloud-native and legacy applications. It evaluates RBAC and ABAC policies for users, services and delegated processes.

One engine, many stacks

Define policy once, manage it centrally and ask Speedle for a consistent authorization decision from any service or language.

Open source and built for extension. Speedle continues to move forward under the Universal Permissive License.

Read the project story

Speedle consists of

  • SPDL policy definition language
  • Policy Management Service
  • Authorization Decision Service
  • Command-line tool (spctl)

Use the complete stack or integrate only the components your system needs.

This project grew out of Oracle Speedle. Its principal maintainers are the original developers of Oracle Speedle; though we have since left Oracle, we continue to maintain the project for everyone to use. The license remains the Universal Permissive License (UPL) 1.0. Questions are welcome at contact@speedle.io.

Features

Fine-grained control without the friction

Preserve the policies your team can reason about while keeping enforcement fast, centralized and adaptable.

Simple Policy Language

Express authorization intent in the human-readable Speedle Policy Definition Language.

Learn more

Cloud Native

Run across clouds and connect to modern infrastructure through pluggable interfaces.

Learn more

Real-time Policy Discovery

Observe runtime interactions and turn real access patterns into enforceable policies.

Learn more

RBAC / ABAC

Combine roles and attributes for precise access decisions.

Learn more

Centralized Management

Manage policy for disparate services from one place.

Learn more

Pluggable Identity

Works with any identity provider: your application verifies identity and passes users, groups and attributes to Speedle for a decision.

Learn more

Bring Your Own Storage

Use etcd or implement the persistence interface for your storage layer.

Learn more
SPDL

Policies humans can read

Describe who can perform an action on a resource, add conditions when needed, and keep authorization rules separate from business logic.

Explore SPDL
library.spdl
# Employees can read and borrow books
grant group employee read,borrow book

# Deny overrides grant: Bob cannot borrow with an invalid library card
deny user bob borrow book if is_card_valid == false
Open source contributors

Help move Speedle forward

Speedle is maintained in the open. Review the code, report an issue or contribute an improvement.

Contribute to Speedle