Skip to content

Terms

Terms and there definitions as it relates to scopie.

Block

Values between slashes that indicate levels of our permission. Can contain one of the following:

  1. A literal string.
  2. An array of literal strings separated by pipe (|) characters that are treated as an OR list.
  3. A literal string prefixed by an at (@) that is translated to a value from our variable map.
  4. A single asterisk (*) that will auto match any value, known as a wildcard.
  5. Two asterisks (**) that matches the rest of the action.
Block examples
value
one|two|three
@user_name
*
**

Action

One or more literal blocks, joined by a slash (/) indicating what the user is attempting to do.

Permission examples
alpha/beta/omega
bucket/images/upload
account/root/view

Grant

Whether or not the user is allowed to do the action. Either the literal string allow or deny.

Permission

Permissions are blocks separated by slashes (/). Colons are used to separate the grant from the blocks. Permissions are attached to users.

Action examples
allow:bucket/images/upload
deny:account/**
allow:blog/@user/read|write
allow:accounts/**

Keywords

They may not be explicity checked but it is important not to use any scopie keywords when defining permissions and actions as they may have unintended side effects.

  • allow
  • deny