Skip to main content

SyftBox Guides

These guides cover using syft-flwr with SyftBox as the communication backend.

What is SyftBox?

SyftBox is a file synchronization network maintained by OpenMined. It enables privacy-preserving federated learning by syncing files between local datasites and a central server—without requiring direct network connections between participants.

Key characteristics:

  • Centralized sync server - Files are synced through OpenMined's infrastructure
  • Local SyftBox client required - Install via curl -fsSL https://syftbox.net/install.sh | sh
  • RDS Dashboard - Web UI for managing datasites and jobs
  • Offline-capable - Sync happens asynchronously

Prerequisites

Before using these guides, ensure you have:

  • SyftBox client installed and running
  • Python 3.11+
  • syft-rds and syft-flwr packages installed

Guide Structure

For Data Owners

  1. Setting Up Your Datasite
  2. Managing Your Datasets
  3. Reviewing FL Job Proposals
  4. Running FL Clients
  5. Privacy & Security

For Data Scientists

  1. Exploring Datasites
  2. Creating FL Projects
  3. Bootstrapping with syft-flwr
  4. Submitting FL Jobs
  5. Running FL Servers
  6. Custom Strategies
  7. Monitoring FL Training
  8. Testing & Deployment

Alternative: Google Drive Backend

If you prefer a simpler setup without installing SyftBox, see the Google Colab Quickstart tutorial which uses Google Drive for file-based communication.