secretflow / secretpad

SecretPad is a privacy-preserving computing web platform based on the Kuscia framework, designed to provide easy access to privacy-preserving data intelligence and machine learning functions.
https://www.secretflow.org.cn
Apache License 2.0
42 stars 23 forks source link

img.png

SecretPad

License

简体中文English

SecretPad (official site: secretflow.org.cn) is a privacy-preserving computing web platform based on the Kuscia framework, designed to provide easy access to privacy-preserving data intelligence and machine learning functions. With SecretPad:

Secretpad-frontend

secretpad
├──secretpad-web
│  ├─src/main/resource

NetworkMode

Two networking modes are supported: master networking mode and p2p networking mode.

master

In the master networking mode, multiple nodes share a control plane, and the control plane is responsible for managing the resources and task scheduling of multiple nodes. Nodes in this mode have fewer resources and are called Lite nodes. The master networking mode is suitable for node interconnection within large organizations, and through a unified control plane, it can significantly reduce O&M and resource costs, and facilitate the rapid addition of nodes. img.png

P2P

In peer-to-peer (P2P) networking, nodes have independent control planes, and node instances and control planes are in the same subnet Autonomy node. In this mode, the party uses the InterConn Controller to synchronize pods from the scheduler to the cluster, and binds the scheduler to the node instance. The point-to-point networking mode is suitable for small organizations or scenarios with high security requirements. img_1.png

Quick Start

It is super easy to get started with your first project.

Start by the provided startup package

Step 1: Download the mvp all in one package

You can download the package from the latest mvp allInOnePackage.

Take mvp package secretflow-allinone-package-latest.tar.gz for example:

tar -xzf secretflow-allinone-package-latest.tar.gz
cd secretflow-allinone-package-latest

Step 2: Start Server

On the Linux/Unix/Windows/Mac(inter) platform(requires docker), run the following command to start server :

# Start with master mode contains alice and bob lite
sh install.sh master
# deploy lite node there must be a master node
sh install.sh lite -n domainId -t token -p 30002 -m master endpoint -s 8089 -k 40812 -g 40813 -q 23801
# deploy autonomy node
sh install.sh p2p -n domainId  -s 8099 -g 8092 -k 8091 -p 8090 -q 33801
# deploy autonomy-node for multi-node in p2p mode
sh install.sh autonomy-node -n domainId -g 8096 -k 8087 -p 8088 -P notls -q 13805 -m 'http://secretpad:port' -t "token for node register on pad"  -x 13086

For more details, see Development

Versions

Most of the time, the secretpad version will be smaller than the kuscia version
You can use the version in the following table as the docker image tag to pull the image
See all available tags by hub.docker
or use alibaba cloud image service

secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretpad
secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/kuscia
secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretflow-lite-anolis8
secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/serving-anolis8

secretpad Version Kuscia Version secretflow Version trustedflow Version serving Version dataproxy Version
0.11.0b0 0.12.0b0 1.10.0b0/1.10.0b1 0.1.1b0 0.7.0b0 0.2.0b0
0.10.0b0/0.10.1b0 0.11.0b0 1.9.0b0/1.9.0b2 0.1.1b0 0.6.0b0 0.1.0b1
0.9.0b0 0.10.0b0 1.8.0b0 0.1.1b0 0.5.0b0
0.8.0b0/0.8.1b0 0.9.0b0 1.7.0b0 0.1.1b0 0.4.0b0
0.7.1b0/0.7.2b0 0.8.0b0 1.6.1b0 0.1.1b0 0.3.1b0
0.6.0b0 0.7.0b0 1.5.0b0 0.1.1b0 0.2.1b0
0.5.0b0 0.6.0b0 1.4.0b0 0.1.1b0 0.2.0b0
0.4.1b0 0.5.0b0 1.4.0.dev24011601 0.1.1b0
0.3.0b0 0.4.0b0 1.3.0.dev20231109 0.1.1b0

Contact

Disclaimer

Non-release version of SecretPad is only for demonstration and should not be used in production environments. Although this version of SecretPad covers the basic abilities, there may be some security issues and functional defects due to insufficient functionality and unfinished items in the project. We welcome your active suggestions and look forward to the official release.