TalkCo supporting research

Sol adversarial review — round five

REVIEW 15 sections

#Verdict

The signed event fabric, deterministic reducer, object encryption, scoped capabilities, layered trust, and replaceable transport direction is coherent. The first proposal overclaimed in the places where product semantics meet cryptography. The corrections below are now incorporated into the page, synthesis, and claim/evidence case.

#Must-fix decisions

Pinning is local and never changes access. Promotion creates a new immutable channel-post revision after every meaningful participant whose material is lifted signs a consent receipt naming the selected source revision, target channel, audience, retention policy, and permitted provenance disclosure. The source message remains unchanged.

If the source is MLS-protected—or publication changes context, audience, retention, associated data, or unlinkability—the client creates fresh publication ciphertext under a fresh CEK. Rewrap-only is limited to an already object-enveloped source whose policy and associated data explicitly authorize the projection and accepted linkability. Public provenance is consent-safe; source context and consent receipts belong in an encrypted audit receipt.

Required tests: MLS promotion never reuses group secrets; identical content promoted twice is unlinkable under the selected privacy profile; multi-author material cannot commit without consent receipts; an observer cannot recover source conversation metadata; withdrawal creates a tombstone while acknowledging that disclosed plaintext cannot be erased.

#Replies have an audience ceiling

Replies remain independently signed objects, but effective visibility is the intersection of parent discussion scope, commenter-selected scope, and current grants. A reply cannot widen its parent audience. Wider publication requires a separate promotion and consent event. Bind thread root, parent revision, policy epoch, and audience commitment into signed metadata and AEAD associated data.

#MLS and HPKE have narrow jobs

MLS is evolving-group key establishment, not TalkCo ACL, authority, moderation, discovery, or general object encryption. The first MLS target is multi-party evolving groups; 1:1 messaging remains open between the existing Signal-lineage direction and a two-party MLS profile until deniability, prekeys, multi-device recovery, state loss, and PQ migration are benchmarked.

HPKE is an envelope primitive, not ACL, ordering, rollback protection, metadata protection, or general forward secrecy after key compromise. The envelope contract must include version, algorithm suite, object/revision IDs, context, policy epoch, audience commitment, recipient device/key version, CEK commitment, expiry, sender authentication, and domain-separated info/AAD. Test substitution, replay, removal, historical grants, state loss, and downgrade.

#Post-quantum readiness is a migration seam

NIST FIPS 203 standardizes ML-KEM. The MLS ML-KEM ciphersuite draft is still a work in progress. PQXDH and Signal's post-PQ ratchet work are benchmark references for 1:1 messaging. Do not make draft MLS/PQ suites production defaults; require algorithm agility and migration seams now.

#The trust ladder supplements TOFU

First contact must identify its evidence: direct QR/NFC/SAS authentication, delegated introduction from an already verified device, or an unaudited link/directory result that is still TOFU. Key transparency makes directory changes auditable; it does not eliminate directory authority, guarantee anonymous lookup, or guarantee fork detection for an isolated client. Combine context-scoped records, independent witnesses, peer checkpoint exchange, and freshness limits. Device addition, recovery, audience widening, and sensitive key release should fail closed when freshness is insufficient.

#Moderation remains scoped

Invalid or unauthorized moderation events are rejected or locally quarantined by default. Evidence is retained only through an explicit report, abuse-response, or legal workflow with defined access and retention. Capabilities need resource, action, audience, expiry, policy epoch, delegation depth, replay nonce, and revocation semantics. Keyed or salted, domain-separated commitments avoid predictable-content correlation. Without universal decryption, universal proactive inspection is unavailable; moderation relies on local controls, opt-in labelers, reports, and scoped disclosure.

#§10 reconciliation is mandatory

Round five is a proposal that must reconcile the existing Session-lineage transport, Signal-lineage DMs, symmetric group-key direction, and TACo working position before becoming canonical. It must not silently demote those decisions.

#Distributed terminology and storage must be precise

Distributed means components span machines or failure domains. Decentralized means no mandatory single administrative authority on the stated path. Federated means independent operators interoperate. P2P means endpoints can exchange directly. Two custody peers demonstrate semantics, not sharding or erasure coding. The storage path still needs K-of-N recovery, uncorrelated placement, repair, quotas, and legal control-plane boundaries. The initial metadata posture is minimization against individual providers, not global-observer resistance.

#Acceptable direction

  • One signed event fabric with separate message and publication projections.
  • Separation among identity, authority, encryption, moderation, transport, release, and storage custody.
  • Object AEAD with separately wrapped CEKs for durable publications.
  • MLS as an adapter for evolving multi-party groups.
  • CRDTs below signed events for drafts and projections.
  • PRE, threshold release, ZK proofs, smart contracts, and new transport/storage systems behind named requirement and benchmark gates.

#Library cautions

OpenMLS, Marmot, p2panda, Automerge/Yjs, iroh, libp2p, Tessera, and Tahoe-LAFS remain candidates or references, not settled dependencies. Version, platform, license, audit, maintenance, FFI, browser/mobile, default relay, and security-advisory checks belong immediately before implementation. No library's substrate identity should become TalkCo authority.

#Source and provenance

This report records Sol's review of the round-five plan, four Luna lane reports, synthesis, claim/evidence case, and existing TalkCo sections §05, §06, §08, §10, and §11. Agent result: agent-result://01a01efc-dc54-7cd1-addb-313f2167703a.

#Open Threads

  • Run the consent, unlinkability, audience-ceiling, envelope, rollback, trust-partition, and PQ migration tests.
  • Reconcile the proposed profile with the canonical §10 transport and messaging choices.
  • Verify exact package versions, platform support, licenses, audits, and current TACo status at implementation time.