TalkCo supporting research

Wave 3 — Encryption, distributed access control, and moderation

DRAFT 6 sections

#Separate the authorities

TalkCo has at least four authority types:

AuthorityCan decideShould not imply
AuthorCreate a revision or propose promotionEveryone may read it
Member/readerDecrypt within a granted audienceMay publish, moderate, or re-share
ModeratorApply a scoped moderation actionReceives every content key
Key-release stewardRelease a conditional envelope under policyBecomes content author or universal reader

Availability is separate again: a relay or edge host may hold ciphertext without being able to read or authorize it.

#Working cryptographic split

  • Messages and active group conversation: MLS epochs, with application binding and TalkCo identity/device records around the MLS group. RFC 9420 defines MLS; OpenMLS is the primary implementation candidate.
  • Posts, replies, attachments, and durable revisions: per-object AEAD content-encryption keys with HPKE recipient envelopes. Sign the object metadata and bind the envelope to object, revision, audience, epoch, and TalkCo context.
  • Actions and delegation: signed, attenuated capabilities such as UCAN, Biscuit, or Meadowcap. A valid capability authorizes an action; it does not decrypt content.
  • Moderation: signed moderation events with deterministic reducers. Invalid or unauthorized events are rejected or locally quarantined by default. Privacy-minimized evidence is retained only through an explicit report, abuse-response, or legal workflow with defined access and retention. Private reports can carry encrypted evidence to a moderator subset; public evidence can expose a keyed or salted, domain-separated content commitment, action, reason, policy, and signature without publishing the content.
  • Wider promotion: create a new publication envelope and normally new ciphertext. PRE is a recovery or offline-author exceptional path, not the default for every post.

#Conditional-release candidates

CandidateWhat it buysWhy it is not the default
Proxy re-encryptionA designated service can transform a ciphertext for a new recipient without seeing plaintextAdds key delegation, proxy compromise, revocation, and misuse semantics
Threshold/TACo-style releaseNo single steward can release a protected keyAdds committee liveness, membership, metadata, and recovery complexity
Broadcast/attribute encryptionCompact policy-shaped recipient setsMature implementation and revocation tradeoffs are narrower than the product needs
ZK proofProves a predicate without revealing the witnessDoes not deliver content keys, solve discovery, or decide policy
Smart contractPublicly verifiable policy/state transitionPublic metadata, availability, upgrade, and key-release leakage; not a private message bus

The TACo site is useful as a threshold-release research input. It should enter only through an adapter with a named failure and recovery policy.

#Falsifiers

  • A capability grants an action but is incorrectly treated as a decryption grant.
  • A new reader obtains historical chat content merely by joining a group or publication.
  • Removing a reader is claimed to revoke already cached plaintext.
  • A moderator can silently change content or read all reports without a scoped grant.
  • A release committee is unavailable during the exact recovery scenario it was meant to solve.
  • Smart-contract or ZK metadata correlates people, audiences, or moderation activity more than the ordinary path.

#Open Threads

  • Define the object envelope and capability claims before selecting a PRE or threshold library.
  • Decide which moderation evidence is private, selectively auditable, or public under each context profile.