Le-Space

Daten und Software, die dir gehören.

Der Local-First Peer-to-Peer Stack

Keine Server. Keine Accounts. Keine Passwörter. Deine Daten bleiben auf deinem Gerät, Zusammenarbeit passiert direkt zwischen Geräten — Relay-Infrastruktur startet auf Knopfdruck und stoppt, wenn du fertig bist. Datenarchivierung auf dezentralem Datenspeichern.

Der Local-First-Stack

Jede Schicht funktioniert ohne zentralen Dienst — und jede Schicht ist ein Open-Source-Baustein, den du einzeln nutzen kannst.

Projekte

Demos und Prototypen statt Folien — jedes Projekt ist ein Baustein des Stacks mit Demo, Quellcode und Paketen.

Relay Button screenshot

Relay Button

beta
Infrastruktur

Libp2p-Relay-Infrastruktur auf Knopfdruck — die Toolchain im Zentrum des Local-First-Stacks.

  • Ein Klick, ein Relay: deployt einen libp2p/OrbitDB-Relay (Signaling, Bootstrap, IPFS-Pinning) — läuft für ein Meeting, ein Projekt oder Jahre, danach wird er gestoppt.
  • Volle Automatisierung: qcow2-RootFS-Images bauen, auf IPFS publizieren, VM-Lifecycle & Retention per CLI und GitHub Actions.
  • Einbettbare UI: React- & Svelte-Komponenten — der eigentliche „Relay Button" — für jede App.
  • Bootstrap-Discovery: Relays registrieren sich selbst; Apps finden sie automatisch.
  • Neu — Remote-Browser-Replication: Die CI startet einen echten Browser auf einer frischen VM in einem anderen Netz und verifiziert echte Cross-Network-P2P-Replikation Ende-zu-Ende — ersetzt Dienste wie testingbot.com für Local-First-P2P-Apps.
  • Läuft auf Aleph Cloud: dezentrales Compute, VMs ohne Cloud-Account; weitere Anbieter — dezentrale wie zentrale — geplant.

Simple Todo — simple-todoSimple Todo — collab01Simple Todo — passkey01Simple Todo — acl01 simple-todo

Simple Todo

Tutorial
IdentitätDatenSync

Tutorial für local-first P2P-PWAs: WebAuthn/Passkey-Identität, OrbitDB-Daten, Browser-zu-Browser-Sync. Kein Server, keine Accounts, keine Passwörter.

▶ simple-todo — Kapitel „main" — alle Besucher teilen automatisch dieselbe gemeinsame Todo-Liste; URL öffnen genügt.

▶ collab01 — Kapitel „collab01" — eigene Listen erstellen und gezielt per OrbitDB-Adresse mit anderen Peers teilen.

▶ passkey01 — Kapitel „passkey01" — Anmeldung per Passkey statt Wegwerf-Schlüssel. Die WebAuthn-DID signiert jeden Eintrag und wird als Autor angezeigt.

▶ acl01 — Kapitel „acl01" — private Listen nur für den Owner, mit Schreibrechten pro DID. Rechte zur Laufzeit vergeben oder entziehen, ohne dass sich die Listen-Adresse ändert.

Universal Connectivity screenshot

Universal Connectivity

stabil
Sync

Unser Fork des offiziellen libp2p-Projekts mit eingebautem Relay-Button: der Cross-Language-Showcase — Chat zwischen Go-, Rust-, TypeScript- und Nim-Peers im Browser — erweitert, sodass jeder auf Knopfdruck einen eigenen Relay deployen kann.

UCAN Store screenshot

UCAN Store

in Entwicklung
IdentitätArchiv

Browser basierter Storage mit WebAuthn/Passkey-DIDs und UCAN-Delegationen — Upload nach Filecoin (geplant) ohne Accounts oder Passwörter.

→ Storacha-Upload-Service-Fork — Upgrade auf UCAN 1.0 geplant

OrbitDB WebAuthn DID screenshot

OrbitDB WebAuthn DID

beta
Identität

Passkey-basierte Identität für OrbitDB — keine Extensions, nur Browser und Biometrie. Jeder Oplog-Eintrag muss signiert werden; die eigentliche Frage ist, wo der Signaturschlüssel liegt:

  • Klartext-Keystore (OrbitDB-Default): der Ed25519-Schlüssel liegt unverschlüsselt in der IndexedDB des Browsers. Alles, was auf deinem Origin Skript ausführt, kann die Identität kopieren und dauerhaft in deinem Namen schreiben.
  • WebAuthn-verschlüsselter Keystore: derselbe Schlüssel, per AES-GCM at rest verschlüsselt und erst nach einem WebAuthn-Unlock (PRF, largeBlob oder hmac-secret) in den Speicher geholt. Ein Prompt pro Session, Schreibvorgänge bleiben schnell; sicher at rest, im Speicher solange der Tab offen ist. Der pragmatische Default — Demo.
  • Hardwaregestützte Schlüssel (Varsig): gar kein OrbitDB-Keystore. Der Schlüssel entsteht im Authenticator — Secure Enclave, TPM, Security Key — und verlässt ihn nie. Ein Passkey-Prompt pro Schreibvorgang, dafür bleibt im Browser nichts zu stehlen — Demo.
  • Wozu Varsig: ein Authenticator liefert nie eine schlichte Signatur über deine Payload — er signiert seine eigene Struktur aus authenticatorData + clientDataJSON-Hash, und zwar mit P-256 statt Ed25519. Varsig ist der selbstbeschreibende Envelope, der diese Struktur transportiert, sodass die Assertion als OrbitDB-Oplog-Signatur und über toUcantoSigner() auch als UCAN-Delegation-Signatur verifizierbar ist. Ohne Varsig kann ein Hardware-Schlüssel für beides nicht der Signierer sein.

libp2p WebRTC over QR screenshot

libp2p WebRTC over QR

Prototyp
Sync

Zwei Browser verbinden sich direkt als libp2p-Peers — ohne Relay, ohne Signaling-Server. Ein Handy scannt den WebRTC-Handshake vom Bildschirm des anderen.

  • Signaling als QR-Code: Offer und Answer laufen out-of-band als signierte, deflate-komprimierte Payloads statt über ein Circuit-Relay. Ein Textfeld dient als Copy/Paste-Fallback.
  • Signiert, nicht nur gescannt: das SDP enthält den DTLS-Fingerprint — wird es mit dem libp2p-Schlüssel signiert, ist die WebRTC-Session an die Peer-ID gebunden. Dasselbe Prinzip wie certhash bei WebRTC-Direct, und genau deshalb darf der übliche Verschlüsselungs-Handshake entfallen.
  • Manipulation scheitert sicher: eine veränderte Payload wird vor jedem Verbindungsversuch abgelehnt, und ein Browser verweigert sein eigenes Offer statt sich selbst zu dialen.
  • Funktioniert ohne Infrastruktur: nützlich, wo kein Relay erreichbar ist — derselbe Raum, dasselbe LAN, ein abgeschottetes Netz.

→ npm-Release von @le-space/libp2p-webrtc-qr geplant

OrbitDB Relay

beta
InfrastrukturDaten

Relay- und Pinning-Service, der OrbitDB-Datenbanken verfügbar hält, während Peers offline sind.

p2pass

Prototyp
IdentitätSync

Peer-to-Peer-Verteilung von Passkey-Credentials — Identitäts-Wiederherstellung bei Geräteverlust.

Akash Deploy PWA

Prototyp
Infrastruktur

Relay-Button-artige Deployments auf dem Akash Network — zweites dezentrales Compute-Target.

→ Konsolidierung mit Relay Button geplant

Orbit Blog

beta
DatenSync

Dezentrales Bloggen mit Replikation zwischen Browsern — publizieren ohne Hosting-Anbieter.

OrbitDB ⇄ Storacha Bridge

beta
Archiv

Backup und Restore von Local-First-Daten nach Filecoin/Storacha — mit vollständiger Hash- und Identitätserhaltung.

FAQ

Häufige Fragen zu Local-First, Verschlüsselung, Metadaten und Infrastruktur — ehrlich beantwortet, inklusive dessen, was noch nicht fertig ist.