JeevesLib Documentation
API for Python Jeeves libary.
| synopsis: | Functions for creating sensitive values, labels, and policies. |
-
JeevesLib.concretize(ctxt, v)
Projects out a single value to the viewer.
| Parameters: |
- ctxt (T, where policies have type T -> bool) – Output channel (viewer).
- v (FExpr) – Value to concretize.
|
| Returns: | The concrete (non-faceted) version of T under the policies in the environment.
|
-
JeevesLib.init()
Initialization function for Jeeves library.
You should always call this before you do anything Jeeves-y.
-
JeevesLib.mkLabel(varName='')
Makes a label to associate with policies and sensitive values.
| Parameters: | varName (string) – Optional variable name (to help with debugging). |
| Returns: | Var - fresh label. |
-
JeevesLib.mkSensitive(varLabel, vHigh, vLow)
Creates a sensitive value with two facets.
| Parameters: |
- varLabel (Var) – Label to associate with sensitive value.
- vHigh (T) – High-confidentiality facet for viewers with restricted access.
- vLow (T) – Low-confidentiality facet for other viewers.
|
-
JeevesLib.restrict(varLabel, pred)
Associates a policy with a label.
| Parameters: |
- varLabel (string) – Label to associate with policy.
- pred (T -> bool, where T is the type of the output channel) – Policy: function taking output channel and returning Boolean result.
|