Skip to main content

Permissions Overview

All permissions in Fluree are governed by smart functions. Smart functions can be attached to predicates, collections, or rules. Smart function are triggered by certain features of a transaction.

In the case of smart functions attached to rules, those smart functions are triggered based on who is issuing a given transaction.

If all of the smart functions triggered by a transaction return true, then the transaction is considered valid.

If even one of the triggered smart functions returns false, the transaction is rejected.

Every ledger comes with two built in smart functions, ["_fn/name", "true"] and ["_fn/name", "false"], which return true and false, respectively.

In this section of lessons, we won't cover how to write more complicated smart functions. We will just refer to smart functions are returning true or false, because smart function in the context of permissions should only return true or false.

This section of lessons corresponds to the Rules section of the docs.