Shared tasks and sections inside your private notes.
Website: openlfcp.org
OpenLFCP (Open Local-First Collaboration Protocol) is an open protocol and reference stack for local-first collaboration. It starts with Obsidian. You keep your vault on your own device, and choose what to share: one task, or a whole section of a note with its tasks, subtasks and notes. The other person keeps it in a note of their own, and you both edit it. Only what you shared leaves the device, end-to-end encrypted and signed. The sync server relays the changes and cannot read them.
Alice's vault Bob's vault
┌──────────────────────┐ ┌──────────────────────┐
│ private notes … │ encrypted, signed │ … his own notes │
│ ## Launch plan ✓✓ ◄─┼──── changes ──► server ◄───┼─► ## Launch plan ✓✓ │
│ - [ ] API contract │ (relays, can't read) │ - [x] API contract │
│ more private text │ │ private text │
└──────────────────────┘ └──────────────────────┘
Shared Tasks 0.4.0 for Obsidian, @openlfcp/* 0.2.0 on npm, the
specifications tagged v0.2.0.
- Share a task, or a whole section of a note, with its tasks, subtasks, paragraphs and lists. What is added inside a section later is shared too, and the text around it stays private.
- Invite someone with a one-time link. They see your changes in their own note, and you see theirs.
- Encryption is always on, and access is capability-based: no accounts. Removing someone's access rotates the key. It cannot erase copies they already have.
- It works offline. Conflicts are shown as choices for you, never written into your text.
- Your device's sync data is encrypted at rest. A diagnostics report shows you everything before anything leaves the device.
- The TypeScript and Rust SDKs pass the same conformance vectors.
This is early reference software and the specifications are Working Drafts. Don't use it yet for data you need to protect. The release notes list what was verified and what is still open.
Obsidian users: obsidian, the
Shared Tasks plugin.
- Install Shared Tasks 0.4.0 from Community plugins (directory page).
- Read the guides:
- Try the two-vault demo with a server you run yourself.
Developers:
spec: the LFCP protocol, the Shared Objects and Shared Sections profiles, and the test vectors.sdk-ts, published as@openlfcp/*0.2.0 on npm (latest), andsdk-rs.server: a self-hosted sync server (Docker and Caddy).examples:- a CLI client that reads and writes shared sections;
- the two-vault section demonstration;
- the TS↔Rust conformance harness.
- Shared sections on mobile are read-only: they arrive and are shown, and edits made there stay on the device. Sharing, inviting and removing access are offered on desktop only (LFCP-02-095).
- Rejoining a section you were removed from.
- Moving a collaboration to another server.
- Comments and discussion threads inside a section.
- A full LFCP-WIRE-01 implementation. MVP 0.2 implements its MVP subset.
Bug reports and ideas go in the issues of the repository concerned. Read CONTRIBUTING before you start. Report vulnerabilities privately, as described in SECURITY. Everything is licensed under Apache-2.0.