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.

Previous topic

Welcome to Python Jeeves’s documentation!

This Page