Skip to content

OpenMined/syft-space

OpenMined Syft Space

Python Node.js FastAPI Vue License

Make your knowledge queryable without giving it up. Syft Space lets you create AI-powered endpoints that others can query while your data stays under your control.

Syft Space Dashboard

What is Syft Space?

A Syft Space is a decentralized node operated by anyone with knowledge to share: a publisher, a research lab, a journalist, an institution, or just an individual.

You add your documents, connect an AI model, and create endpoints that others can query. You control who gets access, what they can ask, and whether they pay.

Key Benefits:

  • πŸ”’ Privacy-First: Your data never leaves your control
  • 🎯 Selective Sharing: Share insights, not raw data
  • πŸ’° Monetization: Set your own pricing and access rules
  • πŸ” AI-Powered: Make any document collection searchable with AI
  • 🌐 Decentralized: Part of a growing network while maintaining independence

Think of it like creating an API for your knowledge - others get answers without seeing your source material.

πŸ—οΈ Architecture

Syft Space is a full-stack application that creates a bridge between your private data and AI models, allowing controlled access through secure endpoints.

Syft Space Architecture

Core Architecture:

  • Frontend: Vue 3 web interface for management and configuration
  • Backend: FastAPI server handling requests, policies, and data processing
  • Vector Databases: Local or remote databases (Weaviate, Qdrant, ChromaDB) for document indexing
  • AI Models: Integration with OpenAI, Anthropic, Ollama, vLLM, and other providers
  • SyftHub Integration: Optional publishing to the decentralized knowledge network

The system automatically provisions Docker containers for local vector databases and provides a unified API for querying across different data sources and AI models.

How It Works

Build your knowledge hub with four core components:

πŸ“š Datasets

Upload documents or connect vector databases. Files are automatically indexed for AI search.

πŸ€– Models

Connect OpenAI, Anthropic, Ollama, vLLM, or any OpenAI-compatible provider.

πŸ”— Endpoints

Combine datasets and models into queryable RAG endpoints anyone can use.

πŸ›‘οΈ Policies

Control access, set rate limits, and configure pricing for your endpoints.

[Your Data] + [AI Model] β†’ [Queryable Endpoint] + [Your Rules] = [Controlled Knowledge Sharing]

Use Cases

  • πŸ“Š Publishers & Creators β€” Make your content AI-queryable for your audience while maintaining attribution and control
  • πŸŽ“ Researchers β€” Turn your papers and notes into a searchable knowledge assistant that others can query
  • 🏒 Organizations β€” Build AI-powered customer support from your documentation without exposing internal details
  • πŸ‘₯ Teams β€” Create searchable knowledge hubs from scattered wikis, docs, and guides
  • πŸ’‘ Data Monetization β€” Share valuable insights from your data without exposing the underlying information

πŸš€ Getting Started

Step 1: Install Syft Space

Prerequisites: 4GB RAM minimum, 8GB recommended

Choose your installation method:

Option A: Desktop App (Recommended for beginners)

  • macOS: Download .dmg from Releases
  • Linux: Download .AppImage, .deb, or .rpm from Releases

Features: One-click setup, system tray integration, auto-updates

Option B: Docker (Production ready)

docker run -d \
    --name syft-space \
    --restart unless-stopped \
    -p 8080:8080 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /dev/null:/root/.docker/config.json \
    -v syft-space-data:/data \
    ghcr.io/openmined/syft-space:latest

Option C: From Source (Development)

git clone https://github.com/OpenMined/syft-space.git
cd syft-space
./run.sh

Step 2: Register Your Account

  1. Open http://localhost:8080 in your browser
  2. Click "Register" and create your account
  3. Important: Add your developer token (for local) or public IP (for VM deployment)

Step 3: Add Your Data

  1. Go to Datasets β†’ Add Dataset
  2. Upload documents, files, or connect a vector database
  3. Wait for automatic processing and indexing

Step 4: Create an Endpoint

  1. Go to Endpoints β†’ Add Endpoint
  2. Select your dataset and choose an AI model
  3. Configure output type (search, AI summary, or both)
  4. Set access policies and pricing

Step 5: Test & Publish

  1. Test your endpoint with the built-in query interface
  2. Click Publish β†’ Choose visibility (Organization or Public)
  3. Your endpoint is now live at syfthub.openmined.org

Example API Query:

curl -X POST http://localhost:8080/api/v1/endpoints/my-docs/query \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-token" \
  -d '{"messages": [{"role": "user", "content": "What are the main topics?"}]}'

πŸ”‘ Developer Token

Required for local deployments only. If you're running Syft Space locally (not on a VM with public IP), you'll need a developer token to publish endpoints.

Scenario Token Required?
🏠 Local machine βœ… Yes - get from OpenMined
☁️ Cloud VM/Server ❌ No - uses public IP
πŸ§ͺ Local development only ❌ No - for testing only

Getting a token: Contact OpenMined directly (currently in beta)
Configure: During onboarding or in Settings β†’ Network

✨ Key Features

  • πŸ—„οΈ Multi-database support: Weaviate, Qdrant, ChromaDB, or remote data sources
  • πŸ€– Multi-model support: OpenAI, Anthropic, vLLM, Ollama, and other providers
  • βš™οΈ Auto-provisioning: Automatically manages Docker containers for local databases
  • πŸ’» Desktop & web interface: Run it as an app or deploy as a service
  • πŸ“Š Usage analytics: Monitor costs, tokens, and performance
  • 🌐 Marketplace integration: Publish to SyftHub for discovery

πŸ“ Project Structure

syft-space/
β”œβ”€β”€ backend/         # Python FastAPI server
β”‚   └── syft_space/  # Main application code  
β”œβ”€β”€ frontend/        # Vue 3 web interface
β”œβ”€β”€ docs/            # Documentation
β”œβ”€β”€ Dockerfile       # Container build
└── docker-compose.yml

πŸ“š Documentation

Component Guides

  • Datasets β€” Managing your data sources
  • Models β€” AI providers and configuration
  • Endpoints β€” Queryable RAG services
  • Policies β€” Access control and rate limiting

Interactive API docs: http://localhost:8080/docs (when running locally)

🌐 Part of the Syft Network

A Space connects to SyftHub β€” a decentralized registry where knowledge providers meet knowledge seekers.

How it works:

  • πŸ“ Discovery: Others find your published endpoints through SyftHub
  • πŸ” Querying: Users can search and query across multiple Spaces
  • πŸ“ Attribution: Every contribution is tracked and credited automatically
  • πŸ—οΈ Open Architecture: Built on open protocols β€” no single point of control

The network grows stronger as more Spaces join, but each Space maintains full autonomy over its data and policies.

🀝 Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository and clone it locally
  2. Set up development environment (see Development Guide)
  3. Create a feature branch for your changes
  4. Submit a pull request with a clear description

Development setup:

git clone https://github.com/your-fork/syft-space.git
cd syft-space
./run.sh

See the Development Documentation for detailed setup and contribution guidelines.

πŸ“„ License

This project is part of the OpenMined ecosystem and is licensed under the Apache License 2.0. See the LICENSE file for details.


Built with ❀️ by the OpenMined community
Making AI safer through privacy-preserving technology

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •