TalkCo research & options

Master Research Table: Candidate Stack, Seams, and Evidence

DRAFT 26 sections

#Aims and reasoning

The inventory groups tools, protocols, applications and implementation references by the work they could remove and the authority/privacy boundaries they must preserve. It incorporates the earlier repository inventory, the September 18–21 evaluations, and the Open Local First / FOSDEM 2026 project scan. Consolidation removes repeated qualification boilerplate; historical evidence remains in its source workbench and Git history. No general freshness or security audit is claimed by this edit.

#How to use the inventory

Choose the job first. A format, runtime, database, network, capability system, storage service and social governance model are not interchangeable alternatives. A mature implementation can be a poor fit; a useful prototype can still be unsafe to deploy. Every accepted mechanism needs a recorded contract, not necessarily an additional custom implementation of the same contract.

#Column design

The tables identify job, candidate, disposition and the decisive boundary/test. Supporting evidence is in the dated notes and linked issue bodies. Those bodies contain context, options, acceptance criteria, dependencies and output locations; they can be assigned without this conversation.

#Status vocabulary

Leading experiment means a provisional comparison, not approval. Adapter is bounded to a named interface. Reference/benchmark preserves useful concepts without proposing wholesale adoption. Gated requires a named requirement or unresolved license/platform/security check. Deferred is outside the current critical path, not a claim that the project is intrinsically bad or inactive.

#Protocol and architecture

#Candidate architecture seam

Diagram 1. Candidate architecture seam

An accepted library may own merge or authorization semantics; installing it does not accept those semantics by default. Descriptors and payloads have different recipients and lifetimes. Format conformance, transfer integrity and custody obligations are separate tests. A plugin injection token is not automatically a cryptographic capability, and a verified package hash is not an execution sandbox.

#Where the leading candidates connect

InterfaceLeading candidates from this inventoryOwning design and decisive limit
Command/state/viewRust/Tokio + SQLite/rusqlite/FTS5; optional Effect/TanStack DB§10: one durable authority/retry owner; snapshot/delta and crash recovery
Integrated workspaceDXOS/ECHO/HALO/Composer§09, profiles: library semantics accepted as a composition, not duplicated underneath
Private relationship and group sessionsSignal-lineage/libsignal; OpenMLS; bounded Tachyon-style comparator§05, encryption: different evidence and history profiles
Draft/shared-record changesAutomerge; Yjs/Yrs or Loro; evaluated p2panda-auth semanticslifecycle, access: causal dependency and revocation admission
Object disclosurePer-object AEAD and selected HPKE recipient descriptors§04, §06: audience ceilings and complete source-evidence analysis
Sync and carrierp2panda sync/net over iroh, smaller iroh adapter, libp2p and private-route comparisonsdistribution: p2panda/iroh may compose; no private-to-direct fallback
Representation and custodyERIS/Kapla; iroh-blobs; Tahoe/ZKAP; Rust object_store§11: distinct locator/read-cap/key/lease types; expiry-aware repair
Wake and interruptionAPNs/FCM/Web Push or pull adapters + local policy§07: opaque hints carry no message authority; urgent mobile delivery unproven

#Narrow primary-source refresh — 2026-10-24

Source checkedSupported claimRemaining adoption gate
p2panda upstreamModular sync, network, store, authorization and encryption packages; network composition uses iroh; pre-v1 API/core-type stability warningExact revision, evidence graph, adopted permission semantics, mobile lifecycle and migration
iroh privacyDirect peers disclose IP addresses; relays observe connection metadataPer-context configuration, lookup, packet traces and observer model
iroh-blobsBLAKE3-addressed verified blob/range transferAuthorization, leases, quota, repair and expiry belong elsewhere
OpenMLS bookMLS implementation with interchangeable providers; tested targets differ from built-but-unsupported mobile/WASM targetsTarget-device testing, credential binding, fork/recovery policy and evidence review
libsignalExternal use unsupported; API/service reuse is not a stable commitmentDistribution/license, integration maintenance, service compatibility and independent network path
ERIS specificationEncrypted immutable block representation independent of storage and transportSpecific codec, application encryption, capability secrecy and custody service
SQLite FTS5Embedded full-text indexingLocal disclosure/index retention, secure deletion paths and no global sync of plaintext indexes

These checks support component placement and qualifications. They do not refresh every catalogue entry, execute an implementation, certify a dependency or validate a composed security profile. The inherited Matrix/DXOS/Jazz/license/source findings retain their original dates.

#Current decision-relevant evidence

JobCandidateCurrent dispositionNext gate
Shared runtime and durable local stateRust, Tokio, SQLite/rusqlite, FTS5Smaller-core experiment#1, #10: platform/lifecycle and one state-machine owner
Local protectionSQLCipher and platform keystoresRequired protection boundary; implementation gated#4: journals, backups, recovery and erased-key paths
TypeScript asynchronous lifetimesEffectFocused client prototype#10: cancellation, cleanup, versioned APIs; do not duplicate durable retries
Reactive query UITanStack DB custom collectionsFocused projection prototype#10: snapshot watermark/delta race, bounded data and command authority
Integrated community workspaceDXOS/ECHO/HALO/ComposerMain reorientation experiment#1/#10: FSL revision/terms, app access, context isolation, evidence, recovery and custody
Collaborative objectsAutomerge; Yjs/Yrs and Loro countercandidatesSelect one representation per job#5: intention, dependencies, membership, late history and retention
Shared-record grid/calculationGlide Data Grid; Mog; IronCalc; Rows n’ ColumnsSeparate UI/engine/collaboration decisions#5/#10: stable identities, formulas, source scope and licensing; no full-product inference from engine docs
Peer logOrbitDB with selected access/encryption modulesBounded alternative, not an extra duplicate log#5/#10: creator defaults, malicious writers, key flow and discovery metadata
Encrypted document layerFireproofKey/metadata-flow experiment#10: a non-reading metadata host, identifier correlation and retention
Cryptographic collaborationClassic JazzSeparate reference from v2#3/#4/#10: recovery, credentials, signed history and migration support
Server-authoritative Jazz generationJazz v2Not the private peer-authority default#10: do not import Classic's security description into v2
Immutable ciphertext representationERIS v1Leading format experiment#6: codecs, streaming, capability types and context separation
Reusable ERIS storage nodeKaplaFirst bounded node comparison#7: leases versus cache eviction, crash/expiry/repair
Existing encrypted distributed storageTahoe-LAFS + ZKAPAuthorizerCompare before any sustained fork#7/#8: lifecycle, private accounting and maintenance
Smaller storage implementationRust object_store + local/S3-compatible capacity; optional GarageReplication-first comparison#7: explicit custody protocol, operator boundary and costs
Recipient descriptor authenticationEstablished ratchets; selected HPKE Auth/DHKEMCryptographic research gate#3: simulation, replay, compromise, collusion and evidence graph
Evolving group securityOpenMLS / RFC 9420 profileConditional group experiment#3/#5: no general MLS deniability claim; credential and late-reader semantics
Scoped service delegationUCAN; Biscuit; minimal signed grantsOne-operation comparison#8: format generation, audit, attenuation, replay and metering
Client-owned Matrix groupsTachyon / experimental DMLS room engineBounded recurring-group countercandidate, not a whole-stack selection#1/#3–#5/#13: exact source, concurrent membership, private evidence, context isolation and crash recovery; study
Embedded Matrix state and local linksNeutrino + Neutrino/IrohExperimental state-resolution/transport reference#4/#9/#10/#13: effective signed/trusted mode, BLE identifiers, receipt semantics and exact Android artifact; not production approval
Optional Matrix delivery and interoperabilityMatrix to-device carrier; explicit conventional-room exportSeparate metadata-qualified adapter decisions#2/#9/#12: real-server behavior, bounded queues, consented export, no automatic inheritance of private TalkCo properties
Delivery and privacyIroh, libp2p, p2panda; private-route and queue adaptersSame-fixture comparisons#9: endpoint isolation, observer model and no silent fallback
Resumable optional relayDurable StreamsOpaque delivery adapter#9: offsets are delivery, not authority; stream/subscriber metadata
Admission/release extensionsPrivacy Pass; PRE/TACo/threshold/ZKNamed requirement only#1/#8: prove necessity beyond ordinary envelopes and finite grants
Evidence and independent reviewCommon fixture, property/model tests, traces, supply-chain checksRequired adoption gate#13: reproducibility and honest scope

#The 2026-09-18 comparison narrows the next choices

The tool evaluation records the primary links and selected source revisions behind the new candidates. Important distinctions are DXOS's inspected FSL terms and optional feed-at-rest encryption, Jazz Classic versus v2, LiveStore's central order, Fireproof's metadata-key path and OrbitDB's explicit extension hooks. These are configuration/version-specific findings, not blanket deployment verdicts.

The authentication evaluation adds a later gate: encrypted signed history can still produce transferable evidence. Review the complete person/key/content binding before selecting DXOS, OrbitDB, Classic Jazz, p2panda, Hypercore or any similar history model. A deniable contextual-key profile may be possible; it has not been validated here.

The Matrix P2P/Tachyon study adds a client-owned group-engine comparison and keeps Neutrino, opaque delivery and conventional interoperability distinct. Source inspection corrects the stale blanket claim that Neutrino has no signing implementation, while retaining its experimental status and default trusted-network caveat. No existing Session/TACo/Signal commitment is silently superseded; architecture lane #1 remains the decision owner.

#Available libraries, tools, and packages

The full inventory below retains researched alternatives. Page-specific role tables link here; they do not create separate adoption ledgers.

#Implementation libraries and client shells

JobCandidate(s)Disposition and boundary
Systems runtimeRust, TokioLeading smaller-core experiment; cancellation, backpressure, native lifecycle and FFI still need tests
Client shellsTauri 2, React/TypeScript; Flutter; Kotlin Multiplatform; browser/WASMFirst platform unresolved; secure storage, background delivery and recovery determine fit
Typed client servicesEffectUseful client task/dependency/error model; not durable protocol state or secure erasure
Reactive local queriesTanStack DBAdapter over accepted local state; not a second durable event system
Local persistenceSQLite, rusqlite, SQLite WAL, FTS5First-slice candidates; journals/indexes/backups are privacy/retention surfaces
Local database encryptionSQLCipher, platform keystoreGated build/license/platform/recovery boundary; not a central reset service
Collaborative documentsAutomerge, Yjs/Yrs, LoroCompare content semantics, stable references, history leakage, revocation dependencies and checkpointing. Yjs v14 attribution/change work remains prerelease as of the 2026-09-22 check; attribution metadata is not source authentication.
Replicated SQL/local datacr-sqlite, RxDB, PouchDB/CouchDB, DexieNarrow alternatives; convergence/reactivity is not authorization or key management
Embedded/hosted SQLPGlite, Turso/libSQL, Turso Sync, FoundationDBRequirement-gated comparisons; avoid another database runtime or coordinator without benefit
Integrated P2P applicationDXOS ECHO/HALO/ComposerMain whole-workspace countercandidate; scrutinize identity, app access, custody and licensing
Integrated E2EE local-first frameworkNextGraphBounded architecture countercandidate: Rust core, CRDT/RDF documents, reactive bindings and capabilities are relevant; stable repository/document identifiers, broker visibility, cross-context linking, permission scope and alpha maturity are gates.
Peer log/databaseOrbitDBCustom controllers and separate payload/replication encryption hooks; SimpleEncryption warning retained
Local encrypted documentsFireproofMetadata/key and address-correlation gates; not automatically a blind metadata service
Grouped object collaborationClassic Jazz, Jazz v2Materially different authority models; version/generation is part of the decision
Event-sourced local SQLLiveStoreNormal sync's total-order/rebase contract is not removed by replacing the provider
Source-database syncElectric Sync/ElectricSQL, PowerSync, ZeroBackend-centered architectures; not independent peer authority by default
Backend reconciliationReplicachePrior review reported maintenance mode; refresh before any new dependency
Reactive backendConvex; Object Sync Engine article; Convex Automerge exampleTrusted backend or reference integration, not a demonstrated P2P substrate
Database accessPrismaORM/tooling only; no present reason to interpose it in the Rust SQLite path
Spreadsheet UIGlide Data Grid, Rows n’ ColumnsUI/component candidates; audit data model, licensing and formula/collaboration boundaries
Spreadsheet enginesMog, IronCalcRequalify code and exposed sync seams; earlier broad Mog product claims are not established by headless source
Authorization frameworkLocal-First Auth, Keyhive, p2panda-authCompare implemented device/group/revocation semantics and review state, not diagrams. Keyhive's current Rust workspace is pre-alpha, explicitly not production-ready, and reports no security audit; concurrent membership/revocation work remains active.
Sync/transport packagesp2panda, p2panda-sync, iroh, libp2pSelected components may replace work; peer/topic/encoding metadata must not dictate application policy
Blob I/Oiroh-blobs, object_store, Storj Uplink/libuplinkData transfer/backend libraries, not custody promises or content-key policy
Transparency backendTessera/Trillian-TesseraCheckpoint implementation, not complete identity, private lookup or authority
Anonymous credentialsanoncreds-rsExternal-credential requirement only; issuer/revocation/linkability remain policy
Qualification notes — implementation libraries and client shells

Source code and documentation evidence is recorded in the September evaluation, earlier shortlist and library review. Current versions, APIs, dependency vulnerabilities, licenses and platform binaries require a fresh check before use.

For the smaller core, SQLite owns durable storage, the selected object implementation owns its semantics, and TanStack DB owns a bounded view. Use snapshot-plus-watermark or subscription buffering to avoid initialization races. UI mutation callbacks submit commands; they do not mint roles or treat optimistic data as durable. Effect and Tokio must not independently retry the same operation.

For DXOS, test Composer as an integrated replacement, not only extracted internals. The reviewed feed Cypher is optional at rest; this does not describe every network/store deployment. The inspected license was FSL-1.1-Apache-2.0 and app/device access was broad. Review exact use and source revision.

For Fireproof, test the intended metadata/key-gossip path against a non-reading metadata service. The observed key serialization is not an exploit finding. For OrbitDB, test custom controllers, encrypted log/payload separation and delayed revocation. For Classic Jazz, verify recovery and support/migration; do not attribute its cryptographic permissions to v2's server model.

#Protocols, formats, standards, and abstractions

JobCandidate(s)Boundary / next decision
Portable application objectsContext-scoped objects, revisions, descriptors and accepted event semantics#2/#5; open formats do not require a public repository or universal signatures
Confidential objectsAEAD, per-object CEKs, reviewed streaming AEAD#3/#6; read keys do not establish authorship; segment/context bindings and key lifetimes matter
Recipient envelopesHPKE / RFC 9180; hpke-rs candidate implementation#3; distinguish Base/Auth/PSK and selected KEM, replay, recipient compromise and retained-key limits
Deniable relationship deliveryDouble/Triple Ratchet, PQXDH, Sesame; libsignal integration#3/#4/#10; protocol semantics differ from external API/service support and licensing
Designated verificationDesignated-verifier signatures; experimental deevee#3; independent construction review before production; multi-recipient evidence is not trivial
Group sessionsMLS / RFC 9420, RFC 9750, OpenMLS#3/#5; no general deniability claim, no automatic application ACL or safe credential binding
Cheap bounded fanoutSymmetric group keys#5; group MACs do not distinguish authors against insiders
Transferable structured attestationCOSE / RFC 9052; contextual or threshold signaturesUse only where the evidence consequence is intended; deterministic encoding does not supply policy
Encoding and compatibilityDeterministic CBOR / RFC 8949; Protobuf, Buf; Postcard#2; distinguish canonical authenticated bytes from carrier-specific encoding; test unknown fields/downgrade
Immutable block formatERIS v1, ERIS read capabilities and block references#6; application encryption above ERIS; read cap is not edit permission or author proof
ERIS codecseris-rs, Zig ERIS, OCaml ERIS, Guile ERIS, python-eris, Codeberg eris-go, independent andrew-d/eris-go#6; conformance, streaming, short I/O, secret-safe types and per-implementation license gates
ERIS operational toolsKapla, ERIShell, eris-captp/Goblins integration#6/#7/#9; bounded adapter tests, not a complete custody/traffic privacy system
ERIS extensionsCBOR serialization, SQLite block storage, HTTP/CoAP, ERIS-FS, link files, Canons, RDF/cache vocabulary, DNSLink/MagnetExtension maturity separate from v1; public naming only intentional export, append-only history not automatic governance
Verified byte streamingBao/BLAKE3ERIS countercandidate; integrity against a root is not provenance or encryption; don't confuse BLAKE3 and BLAKE2b references
Action delegationUCAN, Biscuit, Macaroons, signed bounded grants#8; version/audit/attenuation/replay, cumulative meters and deniability evidence need separate checks
Capability + replicated-state compositionSpritely Goblins / Brassica Chat / zcaps#2/#5/#8 reference: object capabilities govern behavior while authorization certificates are replicated alongside CRDT data. Useful authority separation; Scheme/Goblins is not a current runtime candidate.
Editor collaboration boundaryTeamtype Collaborative Editing Protocol (CEP)#2/#10 early protocol-interface reference; preserve an LSP-like seam between editors and collaboration engines without freezing editor-specific state into TalkCo's canonical object protocol.
Namespace capabilities and private syncWillow family: Meadowcap, Confidential Sync, Drop Format, Transfer Protocol, Bab#2/#4/#5/#9; strong reference for structured namespaces, attenuable capabilities, private-interest overlap and arbitrary/offline delivery. Transferable capability evidence, namespace identifiers, context correlation and payload-key lifecycle remain TalkCo decisions.
Conditional transformationPRE, Umbral/pyUmbral#1/#3; named author-offline/transformation requirement, compromise and revocation review
Divided releaseThreshold release, TACo#1; liveness, committee membership/collusion, operator costs and metadata
Divided signingFROST / RFC 9591Threshold signatures are not consensus, erasure coding, divided decryption or deniable authentication
Policy-shaped encryptionBroadcast encryption / ABELater requirement; key management, policy exposure and revocation cost
Directory consistencyKey transparency/IETF drafts, witnesses and gossip#4/#9; not legitimacy, private lookup or a mandatory public root
Key succession / claimsKERI, DID Core, Verifiable Credentials, PGP/GnuPG web-of-trust patternsOptional interoperability; avoid universal keys, public trust graphs and portable reputation
Local authenticationWebAuthn/passkeys; platform keystores#4/#10; origin/provider/backup behavior, not remote human identity
Private recovery researchKintsugi, DKVE, Signal SVR#4; preauthorization, guessing resistance, witness/locator leakage and current implementation evidence
Supporting Signal mechanismsSealed Sender, safety numbers, usernamesNarrow references, not a complete TalkCo identity or custody model
Public namesENS and other registriesExport integration only; exact shared locators/local aliases are the private default
PQ confidentialityML-KEM / FIPS 203, PQXDH, ML-KEM Braid-style work, HPKE-PQ/PQ-MLS drafts#3/#13; pin suites, distinguish research from standard, test migration and deniability compatibility
PQ attestationML-DSA / FIPS 204, SLH-DSA / FIPS 205Use only for intended signatures; size/platform and key migration gates
PQ migration referencesNIST guidance; repository-cited RFC 9958Identify exact applicability; do not infer relevance from an unexplained citation
Anonymous admission/accountingPrivacy Pass / RFC 9576 and RFC 9578, ZKAPAuthorizer#8; tokens are not personhood or decryption; issuance/redemption metadata and double spending
Anonymous group predicatesSemaphore, RLN, AnonCredsNamed narrow requirement only; issuer/root/nullifier/epoch correlation and recovery
External auth bridgeJWT, OAuth, SIWE/wallet authenticationOptional services only; a login factor is not a permanent subject or content key
Public coordinationSmart contractsNamed public commitments only; ordinary private messages/recipients stay off-chain
Private query accessPIR/ORAM, PRO-ORAM#9; measure a specific leak and operational cost before admission
Transport securityQUIC, Noise, TLSSecure transport does not supply audience, personal identity or traffic-analysis resistance
Storage interfaceS3 API semanticsByte I/O, not retention/repair contract or shared-object authority
Verified importHelia verified-fetch, IPFS CIDsValidate retrieved bytes; control gateways/discovery; no inferred privacy, authorship or persistence
App/resource packagingWeb Tiles, LUCIDExperimental portable packs; loader sandbox and bounded local access are separate
Immutable indexingProlly trees, mikeal/prolly-treesPrefer through a selected implementation; no accidental database project from a low-level structure
Privacy engineeringRFC 6973Turn observer/correlation guidance into an explicit testable budget
Qualification notes — protocols, formats, standards, and abstractions

The encryption page owns source authentication, retained keys and key release. The object page owns content meaning. The storage page owns custody. Their explicit boundaries supersede the earlier shorthand that every application object must be signed.

ERIS v1 is stable as a format, not a security endorsement of every implementation/extension. Prior static review of eris-rs identified short-write, eager-memory and root-key-validation concerns to reproduce. Deleting the convergence secret cannot erase existing readable capabilities. Test application encryption and recipient authentication separately from block conformance; batch/pack I/O without silently changing v1.

UCAN generations are not interchangeable; the reviewed Rust work identified an RC profile and no formal audit. A provider allowance is a useful first experiment, but requires an authoritative cumulative meter. Capability proofs, recipient content-key envelopes, ERIS read capabilities and signed receipts are distinct artifacts.

Public signatures can be appropriate for intentional attestations. A context-key signature with a deniable personal binding is a different hypothesis from a non-transferable authenticator. A recipient can disclose a decrypted ordinary signature; group encryption alone does not settle that. Review all adjacent identity, consent, upload, quota and recovery artifacts under #3.

#Carriers, access services, and storage platforms

JobCandidate(s)Disposition and boundary
Small private message carrierSession, Session Protocol V2, Session Nodes/swarmsLegacy starting candidates reopened in #1/#9; current protocol/platform properties require refresh
Rich onion-routed trafficLokinet/SNAppsGated platform/operations comparison; not a content/object protocol
Low-latency privacyTor, Iroh–Tor adapter, Tor paddingTest actual configuration, scoped endpoint keys and no direct fallback; timing limits remain
Mix deliveryLoopix reference, Katzenpost, NymNamed stronger observer profile only; latency, cover traffic, mobile and operational costs
Private temporary storageKatzenpost PigeonholeDelivery/inbox experiment; not indefinite archive custody
Direct P2P adaptersIroh, libp2p, scoped rendezvousCarrier/endpoint identity is not membership; packet/discovery traces required
Data synchronizationp2panda-sync, Willow implementationsVerify exact version and semantics; keep author/topic/encoding metadata and authority explicit
Constrained/local networksZenoh, ReticulumNewly routed bounded comparisons, not qualified dependencies; adapters before forks
Resumable relayDurable Streams, minimal HTTP relayOptional opaque delivery; stream offsets are not canonical application ordering
Public discoveryKademlia DHT, public provider indexesNot private-core defaults; intentional public/export use only
Pairwise queues and filesSimpleX, SMP v20 references, SimpleX Channels, XFTPVersion/implementation refresh; transfer/inbox lifetime is not archive custody
Opaque operator storageS3-compatible service, AWS S3 client-side encryption patterns, Storj UplinkApplication encryption before upload; provider size/timing/access metadata remains
Coordinated durable serviceStorj SatelliteExternal repair/accounting coordinator; not application authority
Capability storageTahoe-LAFS, ZKAPAuthorizer/PrivateStorage referenceCompare immutable storage, lease/repair and private authorization before fork commitment
Integrated private filesystemPeergosBounded whole-platform counterproposal; public naming/home-server/context constraints need testing
ERIS storage toolsKapla, ERIShell; historical oebstlyKapla node prototype; exact license, persistence and custody behavior open; inactive historical tools not launch defaults
Rust object backendobject_store, local filesystem/SQLite block storesReuse I/O; still implement explicit lease/repair/accounting semantics
Reliable operator clusterGarage, SeaweedFS, CephShared operator capacity, not a permissionless phone mesh; license and administration boundaries
Placement referenceCRUSHFailure-domain modeling; not audience or custody authority
Existing S3 implementationMinIOFreshness/license/maintenance-gated; do not repeat an unverified archived-status claim as current fact
Erasure codecreed-solomon-simd and comparable reviewed codecsCodec only; not placement, manifest authentication, recovery or Tahoe compatibility
Economic storageFilecoin, Sia, WalrusOptional custody adapters; chain/payment/coordinator metadata and failure semantics
Availability structuresWalrus slivers/receipts; Codex/Logos StorageExperimental/platform comparisons; availability proofs do not supply lifecycle or private identity
Hot retrievalSaturn CDN and other retrieval servicesHistorical reference requiring status refresh; public cache demand is not private community policy
Permanent archival publicationArweaveNot ordinary expiring private storage; intentional permanent export only
Public content-addressed exportIPFS, Kubo, IPFS Cluster, Bitswap, GraphsyncExplicit constrained routing/export; provider records, selectors and query patterns leak interest
Public media exportBlossom / NIP-B7Hashes, URLs and server lists are not private-sphere identities
Topic-based messagingWakuLater adapter; content topics, filters and Store queries require observer review
Structured public/hosted dataCeramic, ComposeDB, OrbisDBSchema/indexer and public graph commitments can exceed our needs
Public/relayed publicationNostr and related event protocolsReference/export only by default; signed evidence and social metadata differ from private profiles
Qualification notes — carriers, access services, and storage platforms

The earlier architecture review, metadata research and storage page carry the detailed distinctions. The prior rankings are evidence history, not immutable adoption decisions.

Compare the same encrypted payload through Kapla/ERIS, Tahoe/ZKAP and a smaller Rust service. Distinguish bounded caching from promised custody, full replicas from erasure coding, erasure from key destruction, and object retention from identity recovery. Treat quotas, repair grants, metadata and legal response as separate interfaces. A repair worker may see a bounded inventory or an ERIS tree over inner ciphertext; neither is zero metadata.

The public code review found a concrete Iroh–Tor experiment and Pigeonhole implementation evidence, but exact compatible releases, transport defaults and retention need current tests. Iroh-blobs and ERIS hashes are different; choose a direct transport adapter or explicit bundle mapping rather than treating the identifiers as interchangeable.

Friends may know they are gifting storage without receiving every recipient read or object inventory. Paid providers can be optional; storing opaque data with one does not require adopting its identity/control plane. Operator-managed Garage/Ceph deployments and independent household hosts are different failure domains.

#Notifications and platform delivery

CandidateJobBoundary
Web Push / RFC 8291; web-push libraryBrowser wake hintsNo plaintext, durable message authority or private audience identifiers in wake data
APNsApple wake integrationOS/background and token metadata; not an E2EE transport
FCMAndroid wake integrationProvider dependency and timing; optional/privacy-profile behavior needs design
UnifiedPushOptional distributor-based wake adapter, where supportedEndpoint and distributor metadata, target-device support, battery and latency need testing; no urgent-delivery guarantee. Primary overview checked 2026-10-24.
OS Focus/notification controlsRecipient interruption policySender priority never overrides recipient choice; device policy need not be globally synchronized
Qualification notes — notifications and platform delivery

§07 remains the product owner. Queue delivery, wake, retrieval, display and interruption are separate events. Test token rotation, stale subscriptions, duplicate hints, push outage, background limits and reinstall/recovery. A filesystem or coordination feed does not justify enabling presence, response-pressure signals or task-productivity tracking by default.

#Validation, supply chain, and operations

JobCandidate(s)Gate or limit
Primitive/codec vectorsWycheproof, ERIS vectors, independent implementationsPrimitive success is not a composition proof; add malformed/short-I/O/property tests
State modelsTLA+, TLCBounded membership, quota, repair/expiry models; name excluded assumptions
Integration/faultsTestcontainers, Toxiproxy, tc-netemPinned environment, reproducible loss/delay/partition schedules and recovery outcomes
Packet inspectionTShark, WiresharkExplicit observer/leakage oracle; raw traces are sensitive and retained narrowly
Dependency advisoriesOSV-Scanner, GrypeTimestamp databases; absence of findings is not proof of security
InventorySyft, Anchore OSS ecosystem, SBOMsEvidence of dependency composition, not license clearance
Artifact provenanceCosign, SLSA, signed releasesSignatures identify the artifact claim; independent rebuilds/review still needed
Reproducible buildsNative/mobile/WASM and server build drillsAccount for FFI, codecs, OS packaging and dependencies
Node deploymentPodman Quadlet, container/systemd packagingLinux-specific operator tooling, not universal mobile runtime
Operational metricsOpenTelemetry CollectorAllowlisted coarse health; no private capabilities, person IDs or reader histories
Client integrityPlay Integrity; OWASP MASVS ResilienceSecondary abuse/resilience signals, not the basis of privacy or exclusion of open clients
Social/failure simulationMesa, AgentPy, NetworkXNamed mechanism tests, not predictions of human legitimacy or adoption
AnalysisPandas, PolarsReproducible summaries, not substitutes for protocol/privacy tests
RDT construction and verificationFlec, ECROs, VeriFx#5/#13 research/validation reference: make network/security constraints explicit, detect invariants that require synchronization, and verify custom RDT convergence where applicable. Not an application runtime selection.
Repository publicationNode.js, npm, existing Markdown buildDocumentation validation only; not evidence of app runtime selection
Contributor workflowGitHub issue lanes, ADRs, independent human/agent reviewSelf-contained context; generated code does not approve itself
Qualification notes — validation, supply chain, and operations

Issue #13 owns the common fixture and the difference between source review, executed tests, model results and independent audit. The current repository workflow checks new local source links and builds HTML with permitted Mermaid source fallback. It neither deploys the site nor validates diagram rendering, encryption or privacy.

Pin source and build inputs before an experiment. Record failures, environment and remaining unknowns. Agents can produce adapters, compatibility tests, fuzz cases, migrations and documentation; the author of a crypto change must not also supply its only independent approval. A sustained fork needs named maintenance, security response, upstream/compatibility policy and rollback/recovery plans.

#Adapter and benchmark candidates

Candidate familyRetained roleBoundary
Marmot, marmot-ts, White Noise/MDKMLS-over-relay profiles and audit-bounded examplesPin audited scope and post-audit delta; not TalkCo's object/identity/metadata contract
vodozemacMatrix cryptographic implementation referenceMatrix account and room assumptions remain separate
Hypercore, Hyperdrive, Autobase, DatAppend histories, sparse file transfer and multiwriter coordinationSignature/evidence, membership, retention and paid custody need explicit treatment
HyperswarmTopic discoveryTopic/provider metadata is not hidden by payload encryption
SSB, tinySSBOffline gossip and per-author feed patternsPublic history/graph and sparse-device constraints; not automatic private audience semantics
BriarContact-oriented partitioned/offline designUseful local-network benchmark, not a universal object/custody engine
JamiP2P messaging/calls comparisonAccount/DHT and platform model need a bounded adaptation
SyncthingTrusted-device ciphertext transfer comparisonFolder synchronization is not untrusted custody or independent object authorization
Holochain, hREA, NondominiumAgent-centric resource/data/runtime comparisonsRevisit against an accepted validation contract; no blanket rejection merely because a library validates data
ValueFlowsOptional intent/commitment/event/resource vocabularyNot mandatory fields, physical ownership proof or a complete governance system
Hylo, Decidim, PolicyKit, sociocratic domain patterns, RadicleProduct/process/threshold and scoped-adoption referencesBorrow clear interactions; avoid importing a full governance hierarchy or backend
Le-Space P2P spreadsheet and surrounding stackBrowser/libp2p and identity integration referenceDemo transport is not a mature spreadsheet, authorization or retention system
Bento/DashFile-as-source-of-truth, blind-relay and spreadsheet collaboration referenceNewly merged/unreleased spreadsheet work; capability/signing model is useful but not a mature deployment
MindooDB/Haven/TeamGridEncrypted local-first audit and data-model referenceTenant-rooted authority does not meet the decentralized governance target by default
NextGraphEncrypted document/governance architecture referenceRust framework is alpha; broker/client topology, stable repository/document identifiers, capabilities, whole-framework scope, cross-document correlation and migration require current source evidence
Radicle / HeartwoodLocal replicated social-artifact and Collaborative Object referenceStrong ancestry/object-extension pattern; stable repository IDs, signed DAG histories and gossip are deliberate provenance mechanisms, not TalkCo's deniable private default
Seed HypermediaSovereign publishing, provenance and community case studyUseful object/publishing reference and privacy-regression fixture; a 2026-09-08 release temporarily disabled private-document creation while containing an access-exposure issue. Do not import its Explore/feed surfaces into core product semantics.
Teleportal / HocuspocusYjs provider/server benchmarksTeleportal cleanly separates storage/transport/runtime but its current E2EE leaves CRDT metadata plaintext to the service; Hocuspocus is a mature central-server comparison, not independent peer authority.
Cellster, spreadsheet CRDT research including AegisSheetFormula/structural concurrency researchResearch semantics are not an installed production engine
Hecate, NOTRYReporting and deliberate retroactive evidence researchAdditional trust/construction requirements; not default private-message witnesses

#Application case studies and implementation references

These projects are not competing whole-stack dependencies. They retain production lessons or reusable interface patterns that can change a TalkCo test, component choice, or boundary.

Project / familyRetained lessonBoundary
Plane WikiProduction Yjs lessons: server-originated edits, sync scaling, large documents, state-vector version history, dead-tab resume and realtime permissionsAdd the failure classes to #10/#13; do not inherit Plane's backend authority
BlockNote / ProseMirror / Yjs 14Rich-editor integration, attributed version history and track changesAttribution metadata is optional UI history, not cryptographic authorship; Yjs 14 was still RC in the 2026-09-22 source check
Modal / ReflectionNative Linux/mobile local-first application and reusable P2P-service/API direction around p2pandaProduct/reference implementation; p2panda remains the substrate candidate
MiruCollaborative nonlinear media timeline and offline editingFuture rich-media CRDT reference; AGPL-3.0 project is outside the present core path
LibreOffice Writer + yrsBounded integration: collaborative comments without converting the entire mature document modelPrefer narrow CRDT adoption where only one object class needs concurrent merge
LaSuite DocsBlockNote/Hocuspocus/Yjs deployment, reusable sharing/search UX and public-sector collaborationUI/component reference. Optional BlockNote XL features create a feature-level AGPL licensing gate despite the MIT-compatible base build
SQLRoomsSeparate large/read-only source data from the smaller collaborative state that actually needs a CRDTApply as a design test to attachments, indexes, analytics and shared views; DuckDB/Loro are not core TalkCo dependencies
PouchDB / CouchDBLong-lived offline replication without CRDTs; explicit conflicts and mature open-source governanceOperational benchmark, not TalkCo authority
Le-Space simple-todoWebAuthn/libp2p/IPFS/OrbitDB integration exampleExisting browser/P2P reference; identity and storage primitives remain separately gated

#Grouped dead ends and non-core comparators

Backend-authoritative synchronization can be useful for a separate service but is not the independent peer core. Public registries, actor outboxes, follower/liked collections and global provider discovery conflict with private contextual identity unless used in explicit public export. Permanent archives are not the ordinary retention model. Heavy financial/control planes require a concrete benefit rather than a general decentralization label.

Matrix/power levels are not the community role model. ActivityPub/ActivityStreams, Mastodon, AT Protocol/Bluesky/Ozone and Nostr/NIP-09/NIP-10/NIP-B7 remain useful interoperability and contrast references. Their signed histories and exposed social structures are not automatically inherited. The software is not intended to compile social norms or kaupapa into exhaustive rules.

A useful narrow primitive is not a complete solution: AEAD, HPKE, FROST, UCAN, Meadowcap, PRE, threshold release and ZK each solve different jobs. A source-review limitation is not a blanket rejection of every possible deployment. Unverified maintenance claims, including earlier MinIO and ecosystem assertions, must remain freshness-gated rather than repeated as facts.

#Methodology for evaluating a package

Ask: does the component remove a named piece of work; can its semantics be accepted without a contradictory authority; does it fit target platforms; can it be distributed under the selected terms; what does its evidence actually cover; how does it fail and recover; what does it expose; and can it be replaced or maintained?

The answer is documented in the owning issue and an ADR when accepted. Do not label all unseen source as secure or every incomplete library as unusable. Compare alternatives under the same fixture and include the cost of adapters, key management, forks and long-term maintenance.

#Smallest experiments

  1. Implement a private conversation, consented publication, shared materials grid, document checkpoint and attachment in a smaller Rust-owned core and in DXOS/Composer.
  2. Test recipient verification and evidence transfer without granting a malicious reader impersonation to another reader.
  3. Verify recovery, concurrent membership and late history admission before approving a shared log.
  4. Run the same application ciphertext through ERIS/Kapla, Tahoe/ZKAP and replicated Rust custody, including lost hosts, full disks, expiry and stale repair.
  5. Test one UCAN/Biscuit/provider allowance operation, including cumulative accounting and replay.
  6. Compare direct/local and private routed delivery against named observers; never infer privacy from content encryption alone.
  7. Use Fireproof/OrbitDB/Classic Jazz only for focused experiments that could reverse the leading implementation choice.

#Falsification tests

A candidate fails its proposed role when it requires a hidden central owner, public cross-context root, unauthorized key release, unbounded storage, silent privacy downgrade, broken restore semantics, undocumented causal filtering or transferable private evidence outside the selected profile. Some failures can narrow a component to a useful adapter; they need not erase it from the inventory.

Merging this inventory is not a test pass. The fixture and evidence gates specify what must actually be demonstrated.

Start with the research hub, Open Local First / FOSDEM 2026 scan, integration synthesis, September tool note and September authentication note. Earlier detail remains in the shortlist, round-two architecture, round-three comparisons, round-four access, round-five library evidence and round-seven register.

#Evidence boundary and unresolved choices

The inherited evidence spans August–September 2026; the catalogue retains the 2026-09-22 conference scan and the explicitly scoped 2026-10-24 refresh above. This integration reorganizes those findings and the user's requirements. It does not refresh every version, advisory, hosted-service term, repository status, audit or license. Exact source pins and independent evidence are required before adoption.

#Open questions

The issue-lane index routes all decision-changing work. The immediate gates are shared-core ownership (#1), object/authentication/identity/history (#2–#5), storage format/custody/accounting (#6–#8), network privacy (#9), client/platform selection (#10), community practice (#11), safety/launch (#12) and reproducible validation (#13). Existing unrelated product threads remain in the roadmap.