osvauld Svelte Themes

Osvauld

Fully open-source, end-to-end encrypted, peer-to-peer application suite.

Osvauld Logo

Open-source platform for offline-first, E2E encrypted, P2P applications


What is osvauld?

Osvauld is a platform for building truly decentralized applications. Write your app logic in Lua, design your UI in Slint, and osvauld handles identity, encryption, P2P sync, and offline-first storage automatically.

Your App (Lua + Slint)
        │
        ▼
┌─────────────────────────────────────┐
│         osvauld Runtime             │
│  ┌─────────┐  ┌─────────────────┐   │
│  │ Identity │  │ Loro CRDT Sync │   │
│  │ (Herald) │  │    (Butler)    │   │
│  └─────────┘  └─────────────────┘   │
│  ┌─────────────────────────────────┐│
│  │  P2P Network (Courier + QUIC)  ││
│  └─────────────────────────────────┘│
└─────────────────────────────────────┘

No servers required. Apps sync directly between devices using encrypted P2P connections.

Core Capabilities

Capability Description
Self-Sovereign Identity Ed25519 keypairs for signing, X25519 for encryption. Your identity lives on your devices.
UCAN-Based Permits Fine-grained, delegatable authorization. Share access without a central authority.
QUIC Transport Fast, encrypted connections via iroh. NAT traversal and relay built-in.
Loro CRDT Sync Conflict-free data sync. Works offline, merges automatically when peers reconnect.
Dynamic Apps Hot-load Lua + Slint apps. No recompilation needed.
Sovereign Nodes Optional always-on nodes (Raspberry Pi, VPS) for relay and offline sync.

Architecture

┌─────────────────────────────────────────────────────────────────┐
│  Application Layer                                               │
│  Lua apps, UI state, business logic                             │
├─────────────────────────────────────────────────────────────────┤
│  Butler                                                          │
│  Storage, services, Scribe actors (Loro CRDT)                   │
├─────────────────────────────────────────────────────────────────┤
│  Courier                                                         │
│  P2P orchestration, handshakes, sync protocol                   │
│  Actor model: Coordinator → PeerActors                          │
├─────────────────────────────────────────────────────────────────┤
│  Gurkha                                                          │
│  Permit parsing, capability extraction, authorization decisions │
├─────────────────────────────────────────────────────────────────┤
│  Transport                                                       │
│  QUIC connections, streams, datagrams, blob transfer            │
│  "Dumb byte pipe" - no protocol knowledge                       │
├─────────────────────────────────────────────────────────────────┤
│  Herald                                                          │
│  Identity, encryption, signing primitives                       │
├─────────────────────────────────────────────────────────────────┤
│  iroh                                                            │
│  QUIC, relay, NAT traversal, blob protocol                      │
└─────────────────────────────────────────────────────────────────┘

Crate Responsibilities

Crate Purpose Key Dependencies
herald Identity, Ed25519/X25519 crypto, signing -
gurkha UCAN permit parsing and validation herald
transport QUIC connections, streams, blobs iroh
courier P2P orchestration, sync protocol, actors transport, butler, gurkha
butler Storage, services API, Loro CRDT scribes herald, gurkha
app_runtime Lua VM, Slint bindings, app lifecycle butler
slint_shell Desktop shell for running apps app_runtime
kunki Node runtime (relay, storage, derivations) courier, butler

Sample Apps

App Description Location
My Shop E-commerce with owner/customer roles, order management sample_apps/my-shop/
My Booking Service booking with provider/customer roles sample_apps/my-booking/
Canvas Collaborative whiteboard with shapes, connectors, live cursors sample_apps/canvas-app/
Photo Gallery Shared photo albums with blob sync sample_apps/photo-gallery/
Demos Sthalam Guide, Snake game, Math sim, Group chat sample_apps/osvauld-demos/

Getting Started

Quick Start

git clone https://github.com/osvauld/osvauld.git
cd osvauld
cargo run -p slint_shell

This launches Sthalam with the Sthalam Guide app - an interactive introduction to the Xtended Web. The guide covers:

  • What is the Xtended Web
  • How Sthalam and Osvauld work
  • Architecture overview
  • Building your own apps

Prerequisites

  • Rust 1.75+ (with nightly for some features)
  • Linux, macOS, or Windows

Build for Release

cargo build -p slint_shell --release
./target/release/slint_shell

Run Tests

# Unit tests
cargo test

# Integration tests (P2P sync scenarios)
cargo test -p integration_tests

Project Structure

osvauld/
├── herald/           # Identity and crypto primitives
├── gurkha/           # Permit parsing and validation
├── transport/        # QUIC transport layer
├── courier/          # P2P orchestration
├── butler/           # Storage and services
├── app_runtime/      # Lua VM and Slint bindings
├── slint_shell/      # Desktop application shell
├── kunki/            # Node runtime
├── sample_apps/      # Example applications
├── integration_tests/# P2P sync tests
└── docs/             # Technical documentation

Documentation

Contributing

We welcome contributions! See CLAUDE.md for code policies and style guidelines.

Good First Issues

  • Documentation: Improve examples, add diagrams
  • Sample Apps: Build new demo apps showcasing features
  • UI Polish: Improve Slint components and themes

Intermediate

  • Platform Support: Mobile (Android/iOS) improvements
  • Performance: Optimize sync for large datasets
  • Testing: Expand integration test coverage

Advanced

  • Protocol: Implement new sync strategies
  • Crypto: Additional encryption schemes
  • Network: Improve NAT traversal reliability

Community

Telegram community link

Connect with us on Telegram to discuss features and shape the roadmap

Support

Acknowledgments

KSUM logo

This project has received funding from FLOSS fund and Innovation grant.

License

See LICENSE.txt for details.

Top categories

Loading Svelte Themes