{"id":13671601,"url":"https://github.com/mithril-security/blindai-preview","last_synced_at":"2025-04-27T18:31:29.740Z","repository":{"id":65327776,"uuid":"589641569","full_name":"mithril-security/blindai-preview","owner":"mithril-security","description":"Blindai Preview (no longer used, merged with the main repo blindai)","archived":true,"fork":false,"pushed_at":"2023-03-26T18:15:34.000Z","size":5696,"stargazers_count":24,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-11T09:43:49.995Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mithril-security.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-16T15:41:47.000Z","updated_at":"2023-06-14T00:17:33.000Z","dependencies_parsed_at":"2024-11-11T13:15:26.608Z","dependency_job_id":null,"html_url":"https://github.com/mithril-security/blindai-preview","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mithril-security%2Fblindai-preview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mithril-security%2Fblindai-preview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mithril-security%2Fblindai-preview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mithril-security%2Fblindai-preview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mithril-security","download_url":"https://codeload.github.com/mithril-security/blindai-preview/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251187201,"owners_count":21549600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T09:01:14.252Z","updated_at":"2025-04-27T18:31:27.260Z","avatar_url":"https://github.com/mithril-security.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![Apache License][license-shield]][license-url]\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/mithril-security/blindai\"\u003e\n    \u003cimg src=\"https://github.com/mithril-security/blindai/blob/master/assets/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n\u003ch1 align=\"center\"\u003eBlindAI\u003c/h1\u003e\n\n[![Website][website-shield]][website-url]\n[![Blog][blog-shield]][blog-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n  \u003cp align=\"center\"\u003e\n    \u003cb\u003eBlindAI\u003c/b\u003e is an \u003cb\u003eAI inference server\u003c/b\u003e with an \u003cb\u003eadded privacy layer\u003c/b\u003e, protecting the data sent to models.\n\t\u003cbr /\u003e\u003cbr /\u003e\n    \u003ca href=\"https://blindai-preview.mithrilsecurity.io/en/latest\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://blindai-preview.mithrilsecurity.io/en/latest/docs/getting-started/quick-tour/\"\u003eTry Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/mithril-security/blindai/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/mithril-security/blindai/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#-about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#-getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-getting-help\"\u003eGetting Help\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#-contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## 🔒 About The Project\n\nBlindAI facilitates  **privacy-friendly AI model deployment** by letting AI engineers upload and delete models to their secure server instance using our **Python API**. Clients can then connect to the server, upload their data and run models on it without compromising on privacy. \n\nData 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.\n\nConfidentiality is assured by hardware-enforced **Trusted Execution Environments**. We explain how they keep data and models safe in detail [here](./docs/docs/concepts/privacy.md).\n\n### Built With \n\n[![Rust][Rust]][Rust-url] [![Python][Python]][Python-url] [![Intel-SGX][Intel-SGX]][Intel-sgx-url] [![Tract][Tract]][tract-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## 🚀 Getting Started\n\nWe strongly recommend for you to get started with our [Quick tour](./docs/docs/getting-started/quick-tour.ipynb) to discover BlindAI with a hands-on example using [COVID-Net](https://github.com/lindawangg/COVID-Net).\n\nBut here’s a taste of what using BlindAI could look like 🍒\n\n### AI company's side\n\n#### Uploading and deleting models\n\nAn 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.\n\n```py\nresponse = client_1.upload_model(model=\"./COVID-Net-CXR-2.onnx\")\nMODEL_ID = response.model_id\nprint(MODEL_ID)\n\n8afcdab8-209e-4b93-9403-f3ea2dc0c3ae\n```\n\nWhen collaborating with clients is done, the AI company can delete their model from the server.\n\n```py\n# AI company deletes model after use\nclient_1.delete_model(MODEL_ID)\n```\n\n### Client's side\n\n#### Running a model on confidential data\n\nThe 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.\n\n![](./docs/assets/positive_image.png)\n\n```py\npos_ret = client_2.run_model(MODEL_ID, positive)\nprint(\"Probability of Covid for positive image is\", pos_ret.output[0].as_flat()[0][1])\n\nProbability of Covid for positive image is 0.890598714351654\n```\n\n_For more examples, please refer to the [Documentation](https://blindai.mithrilsecurity.io/en/latest/)_\n\n### Installation\n\n**🥇 Recommended 🥇**\n\n#### Deploying BlindAI on Azure DCsv3 VM\n\n+ ✅ No requirement to have your own Intel SGX-ready device or a particular distribution. \n+ ✅ Secure. Hardware security guarantees protect your data and model from any third-party access.\n+ ❌ Can be more expensive than local deployment.\n\nYou can deploy the server in your Azure DCsv3 VM using our docker image with the following command:\n\n```bash\ndocker run -it -e BLINDAI_AZURE_DCS3_PATCH=1 -p 9923:9923 -p 9924:9924 \\\n--device /dev/sgx/enclave --device /dev/sgx/provision \\\n-v /var/run/aesmd/aesm.socket:/var/run/aesmd/aesm.socket \\\nmithrilsecuritysas/blindai-preview-server:latest /root/start.sh\n```\n\nFor alternative deployment methods (*on-premise, testing only...*) or more information, visit [our installation guide](https://github.com/mithril-security/blindai-preview/blob/main/docs/docs/getting-started/installation.md).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ROADMAP --\u003e\n\u003c!--\n## 🎯 Roadmap\n\nWRITE DOWN THE FEATURES WE **ALREADY** IMPLEMENTED. NOTHING SATISFYING LIKE A LIST WITH CHECKED BOXES.\n\nWE CAN ALSO RENAME THAT PART **KEY FEATURES**\n\n- [ ] Feature 1\n- [ ] Feature 2\n- [ ] Feature 3\n    - [ ] Nested Feature\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e--\u003e\n\n\u003c!-- GETTING HELP --\u003e\n\n## 🙋 Getting help\n\n* Go to our [Discord](https://discord.com/invite/TxEHagpWd4) #support channel\n* Report bugs by [opening an issue on our BlindAI GitHub](https://github.com/mithril-security/blindai/issues)\n* [Book a meeting](https://calendly.com/contact-mithril-security/15mins?month=2023-03) with us\n\n\n\u003c!-- LICENSE --\u003e\n## 📜 License\n\nDistributed under the Apache License, version 2.0. See [`LICENSE.md`](https://www.apache.org/licenses/LICENSE-2.0) for more information.\n\n\n\u003c!-- CONTACT --\u003e\n## 📇 Contact\n\nMithril Security - [@MithrilSecurity](https://twitter.com/MithrilSecurity) - contact@mithrilsecurity.io\n\nProject Link: [https://github.com/mithril-security/blindai-preview](https://github.com/mithril-security/blindai-preview)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://github.com/alexandresanlim/Badges4-README.md-Profile#-blog- --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/mithril-security/blindai.svg?style=for-the-badge\n[contributors-url]: https://github.com/mithril-security/blindai/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/mithril-security/blindai.svg?style=for-the-badge\n[forks-url]: https://github.com/mithril-security/blindai/network/members\n[stars-shield]: https://img.shields.io/github/stars/mithril-security/blindai.svg?style=for-the-badge\n[stars-url]: https://github.com/mithril-security/blindai/stargazers\n[issues-shield]: https://img.shields.io/github/issues/mithril-security/blindai.svg?style=for-the-badge\n[issues-url]: https://github.com/mithril-security/blindai/issues\n[license-shield]: https://img.shields.io/github/license/mithril-security/blindai.svg?style=for-the-badge\n[license-url]: https://github.com/mithril-security/blindai/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-Jobs-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/company/mithril-security-company/\n[website-url]: https://www.mithrilsecurity.io\n[website-shield]: https://img.shields.io/badge/website-000000?style=for-the-badge\u0026colorB=555\n[blog-url]: https://blog.mithrilsecurity.io/\n[blog-shield]: https://img.shields.io/badge/Blog-000?style=for-the-badge\u0026logo=ghost\u0026logoColor=yellow\u0026colorB=555\n[product-screenshot]: images/screenshot.png\n[Python]: https://img.shields.io/badge/Python-FFD43B?style=for-the-badge\u0026logo=python\u0026logoColor=blue\n[Python-url]: https://www.python.org/\n[Rust]: https://img.shields.io/badge/rust-FFD43B?style=for-the-badge\u0026logo=rust\u0026logoColor=black\n[Rust-url]: https://www.rust-lang.org/fr\n[Intel-SGX]: https://img.shields.io/badge/SGX-FFD43B?style=for-the-badge\u0026logo=intel\u0026logoColor=black\n[Intel-sgx-url]: https://www.intel.fr/content/www/fr/fr/architecture-and-technology/software-guard-extensions.html\n[Tract]: https://img.shields.io/badge/Tract-FFD43B?style=for-the-badge\n[tract-url]: https://github.com/mithril-security/tract/tree/6e4620659837eebeaba40ab3eeda67d33a99c7cf\n\n\u003c!-- Done using https://github.com/othneildrew/Best-README-Template --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmithril-security%2Fblindai-preview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmithril-security%2Fblindai-preview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmithril-security%2Fblindai-preview/lists"}