About
p2panda aims to provide everything you need to build modern, privacy-respecting and secure local-first applications.
We have adopted a modular approach—allowing projects the freedom to pick what they need and integrate it with minimal friction. We believe this approach contributes the most to a wider, interoperable p2p ecosystem which outlives “framework lock-in”.
Many of our Rust crates operate over raw bytes and are fully compatible with your own data types and any CRDT. In case you don't plan on building your own peer-to-peer protocol, we have you covered with all features required to build a mobile or desktop application.
We're using existing libraries like iroh and well-established standards such as BLAKE3, Ed25519, STUN, CBOR, TLS, QUIC, UCAN, Double Ratchet and more - as long as they give us the radical offline-first guarantee we need.
We want collaboration, encryption and access-control to work even when operating over unstable or ephemeral connections. Towards this end, we're actively working alongside researchers to design and implement resilient solutions.
p2panda is "broadcast-only" at it’s heart, making any data not only offline-first but also compatible with post-internet communication infrastructure, such as shortwave, packet radio, Bluetooth Low Energy, LoRa or simply a USB stick.
p2panda is a very multifaceted project: We maintain our crates, apply for grants, design protocols and do research in radically distributed data-types. We organise community events and write peer-to-peer applications with our friends and collaborators.
Libraries
-
📦 p2panda-net
Find peers in a peer-to-peer network, connect to them directly - whereever they are - and exchange any data of your interest in form of byte streams. -
📦 p2panda-discovery
Solutions to find other peers in your local network or on the internet and interfaces to start building your own. -
📦 p2panda-sync
Protocol implementations to efficiently "catch up on past state" with other peers and interfaces to start building your own. -
📦 p2panda-blobs
Efficiently send, receive and store (very large) files. -
📦 p2panda-core
Highly extensible data-types of the p2panda protocol for secure, distributed and efficient exchange of data, supporting networks from the internet to packet radio, LoRa or BLE. -
📦 p2panda-store
Interfaces and implementations to store p2panda data types in databases, memory or file-systems. -
📦 p2panda-stream
Collection of various methods to process your p2panda data streams before they reach your application. -
🚧 p2panda-node
All-in-one p2panda node which can be used in federated or fully decentralised networks or both at the same time. Supports "lightweight" clients running in the browser. -
🚧 p2panda-caps
Manage access to data with capabilities. -
🚧 p2panda-groups
Local-first roles and group-encryption with Post-Compromise-Security and optional Forward-Secrecy.
News
Projects
📝 Aardvark (coming mid-2025)
Local-first, collaborative text editor, based on GTK and Automerge.
This is a collaboration with friends from GNOME and part of a general research to explore local-first code, UI and UX patterns in GTK applications.
📢 Toolkitty (coming mid-2025)
Autonomous coordination toolkit for collectives, organisers and places to share resources and organise events in a shared calendar.
Toolkitty is built for iOS, Android and Desktop with Tauri.
🐝 Meli Bees App
Collaborative Android app for sighting and categorisation of Meliponini bee species in the Brazilian Amazon.
This project is a collaboration between p2panda and Meli and built with Flutter and aquadoggo.
📡 rhio
rhio is a peer-to-peer message router and file sync solution allowing processes to rapidly exchange messages and efficiently replicate large files without any centralised coordination.
rhio was built in collaboration with HIRO.
🐬 aquadoggo
aquadoggo is a node implementation based on an earlier version of p2panda. It is a intended as a tool for making the design and build of local-first, collaborative p2p applications as simple as possible, and hopefully even a little fun!
Contact
Find all source code on GitHub, follow us on the Fediverse, join our official Chat or write us an Email! We'd love to hear from you!