Skip to content

PRISM-928 - Document prism use case#109

Open
WashingtonKK wants to merge 10 commits intoultravioletrs:mainfrom
WashingtonKK:use-case
Open

PRISM-928 - Document prism use case#109
WashingtonKK wants to merge 10 commits intoultravioletrs:mainfrom
WashingtonKK:use-case

Conversation

@WashingtonKK
Copy link
Copy Markdown
Contributor

What type of PR is this?

What does this do?

Adds documentation for a use case of prism

Which issue(s) does this PR fix/relate to?

Have you included tests for your changes?

Did you document any new/modified features?

Notes

Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
@WashingtonKK WashingtonKK self-assigned this Aug 6, 2025
@WashingtonKK WashingtonKK requested review from SammyOina and Copilot and removed request for SammyOina August 6, 2025 13:42
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive documentation for a real-world Prism use case, demonstrating how to perform secure multiparty computation for COVID-19 training. The documentation provides a step-by-step walkthrough of the entire MPC process from provisioning to result consumption.

  • Adds detailed use case documentation with screenshots and code examples
  • Updates the documentation sidebar to include the new use case page

Reviewed Changes

Copilot reviewed 2 out of 17 changed files in this pull request and generated 4 comments.

File Description
sidebars.ts Adds "use_case" entry to the documentation navigation sidebar
docs/use_case.md Creates comprehensive use case documentation for COVID-19 training MPC scenario

docs/use_case.md Outdated
Export the CVM’s gRPC endpoint so the CLI can communicate with it:

```bash
export AGENT_GRPC_URL=109.92.195.153:6110
Copy link

Copilot AI Aug 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The IP address 109.92.195.153 appears to be a real production IP address exposed in documentation. Consider using a placeholder IP (e.g., 192.0.2.1 or example.com) to avoid exposing actual infrastructure endpoints.

Suggested change
export AGENT_GRPC_URL=109.92.195.153:6110
export AGENT_GRPC_URL=192.0.2.1:6110

Copilot uses AI. Check for mistakes.
docs/use_case.md Outdated
If your algorithm is in **Python** and has dependencies:

```bash
export AGENT_GRPC_URL=109.92.195.153:6110
Copy link

Copilot AI Aug 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same production IP address is repeated here. This should be replaced with a documentation-safe placeholder IP address.

Suggested change
export AGENT_GRPC_URL=109.92.195.153:6110
export AGENT_GRPC_URL=198.51.100.1:6110

Copilot uses AI. Check for mistakes.
docs/use_case.md Outdated
Comment on lines +207 to +211
![alt text](img/usecase/downloaded_results.png)

This also reflects on ui with an event to indicate the computation is complete:

![alt text](img/usecase/consumed_results.png)
Copy link

Copilot AI Aug 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The alt text 'alt text' is not descriptive. Consider using meaningful alt text like 'Downloaded computation results CLI output' for better accessibility and documentation clarity.

Suggested change
![alt text](img/usecase/downloaded_results.png)
This also reflects on ui with an event to indicate the computation is complete:
![alt text](img/usecase/consumed_results.png)
![Downloaded computation results CLI output](img/usecase/downloaded_results.png)
This also reflects on ui with an event to indicate the computation is complete:
![Consumed computation results event in UI](img/usecase/consumed_results.png)

Copilot uses AI. Check for mistakes.
docs/use_case.md Outdated

This also reflects on ui with an event to indicate the computation is complete:

![alt text](img/usecase/consumed_results.png)
Copy link

Copilot AI Aug 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The alt text 'alt text' is not descriptive. Consider using meaningful alt text like 'UI showing consumed results event' for better accessibility and documentation clarity.

Suggested change
![alt text](img/usecase/consumed_results.png)
![UI showing consumed results event](img/usecase/consumed_results.png)

Copilot uses AI. Check for mistakes.
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
docs/use_case.md Outdated
@@ -0,0 +1,211 @@
# Multiparty Computation for COVID-19 Training
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use case should not just be a tutorial but talk of high level understanding of the possible real world use cases for prism, make references to the ai repo as well

Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
docs/use_case.md Outdated

## 3. Confidential Compute via CVM

CVMs are secure environments where the algorithm executes under **hardware-based encryption** (Intel SGX, AMD SEV, etc.).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we do not have sgx

docs/use_case.md Outdated

| Domain | Use Case Example |
|---------------|----------------------------------------------------------------------|
| **Healthcare** | Secure joint training of diagnostic models across hospitals. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link examples in ai repo

docs/use_case.md Outdated
@@ -0,0 +1,179 @@
# Secure Multiparty Computation with Prism
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this will be a menu item so use an appropriate title

Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
@WashingtonKK WashingtonKK requested a review from SammyOina August 13, 2025 13:20

Note: Results are **one-time consumable** and linked to access control lists defined by the computation owner.

![Downloaded results](img/usecase/consumed_results.png)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do something with the results to demostrate the use case

Copy link
Copy Markdown
Contributor

@SammyOina SammyOina Aug 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs to be multiple parties to demonstrate the use case. here all data comes from one user

Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

show images here on docs, it is good story telling to show this has actual real world use.

Copy link
Copy Markdown
Contributor

@SammyOina SammyOina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tutorial does not flow as it should and feels disjointed (cvms created after algo and dataset are uploaded which is impossible), some previous comments were not resolved as well (images of the output, atls use etc). This should be high level as well as be a tutorial

docs/use_case.md Outdated

## 2. Registering Assets

### Uploading Datasets
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

datasets cannot be uploaded before algos

docs/use_case.md Outdated

---

## 🌐 High-Level Use Case Context
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove emojois from sub headings

Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>
Signed-off-by: WashingtonKK <washingtonkigan@gmail.com>

![COVID-19 Assets](img/usecase/datasets.png)

### Uploading Datasets
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we cannot upload datasets before uploading algorithm

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The use case described here is mainly focused on the ui, and not cocos. It focuses on uploading assets to prism which does not really have order.
The commands to upload the corresponding asset to cocos are just to accompany the ui docs and not an indication of precedence.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that is still confusing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants