Shelter Protocol

Ambiente de Execução P2P Integrado

An open protocol for creating end-to-end encrypted, federated, user-friendly web applications. Defines a lightweight federated virtual machine based on signed, ordered "contract chains" (event logs) with E2E encryption primitives. The reference implementation is Chelonia (a JS framework). Group Income (voluntary basic income app) is the primary production use case. Governance: okTurtles Foundation (501(c)(3) non-profit).

Comunidade

Detalhes

Licença AGPL-3.0 (Chelonia / chel CLI); protocol spec open (MIT)
Status de Dev 🔬 Beta
Detalhe do Status de Dev Active — Chelonia CLI updated Feb 2026; Group Income beta testing ongoing Reclassified 2026-09-14: the only concrete activity cited is a related project's (Group Income) beta testing — thin, indirect evidence for Shelter Protocol's own independent status.
Proprietário okTurtles Foundation (501c3 non-profit)
Órgão de Governança okTurtles Foundation (501(c)(3) non-profit)
País USA (Washington D.C.)
Ano de Início 2019
Stack JavaScript / TypeScript (Chelonia); VueJS 2.x (Group Income UI); Hapi.js (server); WebSockets; SBP (Selector-based Programming, custom micro-framework); WebAssembly sandbox for smart contract execution
Financiamento Donations (BTC, XMR, ZEC, USD); GitHub Sponsors; grant requests from aligned orgs; DWeb event participation
Última Investigação 14 de set. de 2026

Capacidades

Criptografado de ponta a ponta Grupos combináveis Autoalojável Governança baseada em consentimento

Ambiente de Execução P2P Integrado Atributos

Origens Evolved from Group Income's technical requirements — okTurtles Foundation needed an E2E encrypted, federated application layer to build voluntary basic income app without server-side data visibility. Published as standalone protocol spec ~2019-2022.
Banco de Dados Custom append-only message log (contract chains) persisted server-side; each contract chain is a self-referencing CID-addressed event log stored in server key-value store; state reconstructed by replaying events
Linguagem de Consulta None (event-sourced state; no query language)
Formatos de Dados JSON (SPMessage format); BLAKE2b-256 content IDs (CID, Base58 encoded); shelter: URI scheme for addressing resources; JWS-compatible signatures
Edição Colaborativa em Tempo Real No native CRDT collaborative editing; shared mutable state via contract chain event sourcing and reactive Vue state updates
Edição de Texto Rico No (text-based messaging; no rich text primitives in protocol)
Suporte Móvel No native mobile SDK; web app accessible via mobile browser; Tauri mentioned as recommended distribution approach for security
Suporte Web Yes — browser-native; primary deployment target is web application
Aplicativos Nativos Tauri-based desktop packaging recommended in security docs; no official native mobile app
Termos okTurtles Foundation non-profit; no commercial terms; Group Income app open source
Fundos FY2022: $11,122 + 4.49 BTC + 132.9 XMR received; $57,748 + 1.95 BTC + 440 XMR paid out
Baseado Em ActivityPub (federation concepts); IPFS/CID (content addressing); event sourcing / CQRS patterns; zero-knowledge sub-protocols for password salt retrieval
Arquitetura P2P Federated server model (servers relay contract chain messages to subscribers); clients store/reconstruct local state; servers cannot read encrypted payloads
Rede de Sobreposição None — uses existing HTTP/HTTPS + WebSockets; server federation via standard web protocols
Endereçamento por Conteúdo Yes — BLAKE2b-256 CIDs (Base58 encoded) address all resources; shelter: URI scheme; first SPMessage in chain is CID of the contract
Local-First Partial — state reconstructed locally from replayed events; offline: events queued but requires server sync for propagation; state snapshots reduce replay cost
Criptografia de Ponta a Ponta (E2EE) Yes — OP_ACTION_ENCRYPTED for encrypted actions; OP_KEY_ADD/OP_KEY_SHARE for key management; ZK sub-protocol for password salt retrieval without revealing password to server; unique keys per device optional; EdDSA/ECC primitives; cipher-agnostic by design for post-quantum upgrade path
Biblioteca de CRDTs No — uses ordered event logs (deterministic replay); no CRDT library
Tolerância a Falhas Bizantinas No formal BFT — federated trust model; server operators are trusted; contracts upgradeable by authorized keys
Assinatura JWS-compatible signing (JSON Web Signatures); OP_KEY_ADD / OP_KEY_SHARE primitives; signingKeyId referenced per message; ECC (cipher-agnostic design)
Permissões Capability-based key authorization: each SPMessage references a signingKeyId and encryptionKeyId defined at contract creation; OP_KEY_ADD grants new keys (multi-device); OP_KEY_SHARE shares secrets between keys; role/function authorization model customizable per contract; server cannot override client-side key permissions
Compatibilidade com a Web Semântica None — no RDF, JSON-LD, or linked data primitives
Contrato Inteligente Yes — "contracts" are upgradeable programs (any language) that process OP_ACTION events against shared state; WebAssembly sandbox recommended; Contract Manifest defines versioned contract code; state transition defined per event type; analogous to OOP class/instance model
Posição na Pilha de Protocolo Application layer — sits above TCP/IP and HTTP/WebSockets; provides encrypted federated application VM layer; comparable to ActivityPub at a higher abstraction level (application runtime vs. social protocol)
Incorporação de Ativo / Valor None — no native token or asset primitives in protocol
Ferramentas de Desenvolvimento Chelonia (JS/TS framework, AGPL-3.0) — reference implementation of Shelter Protocol for browser and Node.js; @chelonia/cli (chel) — CLI utility (TypeScript, AGPL-3.0); @chelonia/crypto, @chelonia/lib, @chelonia/serdes — npm packages; @sbp/sbp — Selector-based Programming micro-framework; Group Income codebase as reference application
Opções de Implantação Self-hosted server (Hapi.js); web app served separately from server (recommended for security — prevents malicious JS injection); Tauri for desktop app distribution; server stores encrypted contract chains; clients reconstruct state locally
Autenticação e Identidade Identity Contract (customizable per app): stores username, email, profile picture as E2E encrypted state; unique keypairs per device (EdDSA); ZK-based password/salt authentication without exposing password to server; OP_KEY_ADD for multi-device keyset management; no centralized identity registry
Modelo de Armazenamento Server-side append-only contract chain storage (encrypted blobs); client-side reconstructed application state; optional state snapshots every N messages for sync efficiency; CID-addressed immutable messages
Interoperabilidade Low — Shelter Protocol is self-contained; no ActivityPub federation (despite conceptual borrowing); no DID/VC integration; shelter: URI scheme is custom; no standard identity or data portability interfaces
Grafo Social Application-defined via contracts; no native social graph primitives; Group Income implements group membership via identity + group contracts
Maturidade / Padronização do Protocolo Custom / Community spec — not submitted to any SDO; spec published at shelterprotocol.net; shelter: URI scheme documented informally; Chelonia is alpha/beta; Group Income in beta testing
Política de Atualização Contracts are explicitly upgradeable — each event references a specific contract version; new versions can be deployed; state replay uses version-tagged events; key rotation supported via OP_KEY_ADD/REVOKE