Lifty

Lifty is a DSL for data-centric applications that manipulate sensitive data. In Lifty, the programmer implements the core functionality of the application as if all the data were publicly visible, and then separately provides a policy module that describes the data and the associated policies. The Lifty compiler automatically injects policy-enforcing code throughout the application, and guarantees that the resulting code satisfies all the policies.

Architecture of the Lifty compiler

Paper

The paper is currently under submission [draft]

Examples

We have assembled a set of 11 small but challenging benchmarks that showcase what you can do with Lifty. Click on the links below to observe Lifty in action via our web interface.