Live demo (sample data)

Speedle Cloud is an access-control service for developers. Create a service, write access rules in SPDL, and call the authorization API to check whether a user may perform an action on a resource.

Speedle Cloud home

Explore a sample authorization workspace

Explore the policy management workspace without signing in. This read-only demo uses built-in sample data and the console’s policy list, SPDL display and Playground result components. It runs in your browser, makes no API calls and cannot read or change real accounts.

Sample service: books-demo · Read-only · sample data only

Policies

Authorization policies (2)

Role policies (1)

reader-access

grant role reader get /books

Playground

Choose a sample request to see its precomputed IsAllowed decision. These are fixed examples, not live API evaluations.

Sample authorization request
{
  "subject": {
    "principals": [
      {
        "type": "user",
        "name": "alice"
      }
    ]
  },
  "serviceName": "books-demo",
  "resource": "/books",
  "action": "get"
}

Allowed. A grant policy applies.

Full result (JSON)
{
  "allowed": true,
  "reason": 0
}

Reason codes: 0 = grant, 1 = deny, 3 = no matching policy.

All sample policies, requests and decisions (also readable without JavaScript)

reader-access

grant role reader get /books

protect-books

deny user bob delete /books

alice-reader

grant user alice reader on /books

Alice reads books — allowed through the reader role

{
  "request": {
    "subject": {
      "principals": [
        {
          "type": "user",
          "name": "alice"
        }
      ]
    },
    "serviceName": "books-demo",
    "resource": "/books",
    "action": "get"
  },
  "response": {
    "allowed": true,
    "reason": 0
  }
}

Bob deletes books — explicitly denied

{
  "request": {
    "subject": {
      "principals": [
        {
          "type": "user",
          "name": "bob"
        }
      ]
    },
    "serviceName": "books-demo",
    "resource": "/books",
    "action": "delete"
  },
  "response": {
    "allowed": false,
    "reason": 1
  }
}

Carol reads books — no matching grant

{
  "request": {
    "subject": {
      "principals": [
        {
          "type": "user",
          "name": "carol"
        }
      ]
    },
    "serviceName": "books-demo",
    "resource": "/books",
    "action": "get"
  },
  "response": {
    "allowed": false,
    "reason": 3
  }
}