BlindAI Core / API is an open-source and easy-to-use Python library allowing you to query AI models with assurances that your private data will remain private
Project description
BlindAI
BlindAI is an AI privacy solution, allowing users to query popular AI models or serve their own models whilst ensuring that users' data remains private every step of the way.
Explore the docs »
Try Demo
·
Report Bug
·
Request Feature
Table of Contents
🔒 About The Project
BlindAI is an open-source solution allowing users to query popular AI models or serve their own models with assurances that users' private data will remain private. The querying of models is done via our easy-to-use BlindAI Python library.
Data sent by users to the AI model is kept confidential at all times. Neither the AI service provider nor the Cloud provider (if applicable), can see the data.
Confidentiality is assured by hardware-enforced Trusted Execution Environments. We explain how they keep data and models safe in detail here.
There are two main scenarios for BlindAI:
- BlindAI: Using BlindAI to query popular AI models hosted by Mithril Security.
- BlindAI.Core: Using BlindAI's underlying technology to host your own BlindAI server instance to securely deploy your own models.
You can find our more about BlindAI and BlindAI.Core here.
Built With
🚀 Getting Started
We strongly recommend for you to get started with our Quick tour to discover BlindAI with a hands-on example using COVID-Net.
But here’s a taste of what using BlindAI could look like 🍒
BlindAI
transcript = blindai_preview.api.Audio.transcribe(
file="patient_104678.wav"
)
print(transcript)
The patient is a 55-year old male with known coronary artery disease.
BlindAI.Core
AI company's side
Uploading and deleting models
An AI company AI company want to provide their model as an an easy-to-use service. They upload it to the server, which is assigned a model ID.
response = client_1.upload_model(model="./COVID-Net-CXR-2.onnx")
MODEL_ID = response.model_id
print(MODEL_ID)
8afcdab8-209e-4b93-9403-f3ea2dc0c3ae
When collaborating with clients is done, the AI company can delete their model from the server.
# AI company deletes model after use
client_1.delete_model(MODEL_ID)
Client's side
Running a model on confidential data
The client wants to feed their confidential data to the model while protecting it from third-party access. They connect and run the model on the following confidential image.
pos_ret = client_2.run_model(MODEL_ID, positive)
print("Probability of Covid for positive image is", pos_ret.output[0].as_flat()[0][1])
Probability of Covid for positive image is 0.890598714351654
For more examples, please refer to the Documentation
BlindAI.Core Installation
🥇 Recommended 🥇
Deploying BlindAI on Azure DCsv3 VM
- ✅ No requirement to have your own Intel SGX-ready device or a particular distribution.
- ✅ Secure. Hardware security guarantees protect your data and model from any third-party access.
- ❌ Can be more expensive than local deployment.
You can deploy the server in your Azure DCsv3 VM using our docker image with the following command:
docker run -it -e BLINDAI_AZURE_DCS3_PATCH=1 -p 9923:9923 -p 9924:9924 \
--device /dev/sgx/enclave --device /dev/sgx/provision \
-v /var/run/aesmd/aesm.socket:/var/run/aesmd/aesm.socket \
mithrilsecuritysas/blindai-server:latest /root/start.sh
For alternative deployment methods (on-premise, testing only...) or more information, visit our installation guide.
🙋 Getting help
- Go to our Discord #support channel
- Report bugs by opening an issue on our BlindAI GitHub
- Book a meeting with us
📜 License
Distributed under the Apache License, version 2.0. See LICENSE.md
for more information.
📇 Contact
Mithril Security - @MithrilSecurity - contact@mithrilsecurity.io
Project Link: https://github.com/mithril-security/blindai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for blindai-0.6.1.post2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7fd7c89c6e3bfde47b775d6752f47b8f18930c8719ce2a35574da9bcc85e728 |
|
MD5 | 7bc53419f8620a3e1d7df7991503d46e |
|
BLAKE2b-256 | bc7912b3260957a67988b063820e658de940d6b596934584e83d66f05ed3d6eb |