p2panda
p2panda is a peer-to-peer protocol for playful, secure, data-efficient, offline- and local-first web, mobile and desktop applications.
Messages in p2panda are signed and published by clients using the Bamboo append-only log data type which gets distributed over the network to other peers. p2panda allows for decentralised or federated network topologies or even hybrids of these and aims at running in web browsers without loosing its cryptographic features.

サービス!サービス!
Topics we're interested in
- Browser friendliness: Lightweight clients that can easily be implemented as websites.
- Collaboration: Data can be changed by multiple users at the same time with built-in CRDTs.
- Decentralization: Networks consist of both federated or decentralised nodes.
- Deletion: Data can be deleted without loosing verifiability and log integrity.
- Encryption: Transport communication is end-to-end encrypted via TLS 1.3, data is encrypted for groups via the Messaging Layer Security (MLS) protocol.
- Energy efficiency: Data- and energy-efficient storage and replication.
- Fork proof: Automatic detection of accidentially or maliciously forked append-only logs.
- Identities: A user account model that gives people options for managing one or multiple online identities across devices.
- Integrity: Authorship of all published data can be verified through signatures.
- Local- & offline first: Access to online services without reliable and performant internet infrastructure. Independence from the corporate cloud.
- Low-power electronics: Useable on low power devices.
- Moderation: Decentralised content moderation for users and groups.
- Partial replication: Nodes do not need to download the whole log to verify them.
- Schemas: User data is stored in published, versioned data schemas so data can be reliably accessed across services.
- Warmth: Computers make it easy to get carried away by their rigidly structured ways. However, every computer also contains an undeniable spark of pure chaos. We want to capture that spark to ignite a campfire for you to gather around and get cosy.
Software
Libraries
- p2panda: Provides tools to write a client for the p2panda network. It is shipped both as a Rust crate p2panda-rs with WebAssembly bindings and a NPM package p2panda-js with TypeScript definitions running in NodeJS or any modern web browser.
Nodes
- aquadoggo: GraphQL node server for the p2panda network running as a standalone application or Rust crate you can embed in your mobile or desktop application, for example via Tauri.
Clients
- beep-boop: Chat client based on p2panda to experiment with. See it live under: p2panda.org/demo
- fishyfish: Command line interface to manage p2panda nodes.
Further links
Meet | Informal hang-out Mondays 19:00 CEST here |
Try it out | Experimental demo |
GitHub | github.com/p2panda |
Handbook | github.com/p2panda/handbook |
npm | p2panda-js |
crates.io | p2panda-rs |
contributors@p2panda.org |