This library provides a layer on top of TensorFlow for doing machine learning on encrypted data as initially described in Secure Computations as Dataflow Programs, with the aim of making it easy for researchers and practitioners to experiment with private machine learning using familiar tools and without being an expert in both machine learning and cryptography. To this end the code is structured into roughly three modules:
- secure operations for computing on encrypted tensors
- basic machine learning operations built on top of these
- ready-to-use components for private prediction and training
that are all exposed through Python interfaces, and all resulting in ordinary TensorFlow graphs for easy integration with other TensorFlow mechanisms and efficient execution.
Important: this is experimental software that should not be used in production for security reasons.
Several people have had an impact on the development of this library (in alphabetical order):
and several companies have invested significant resources (in alphabetical order):
- Dropout Labs continues to sponsor a large amount of both research and engineering
- OpenMined was the breeding ground for the initial idea and continues to support discussions and guidance
Happy to hear all!