Skip to content

Define encrypted chat retention and relay backup policy #79

Description

@tcballard

Context

The first production OmaChat relay must not inherit its encrypted-message retention policy from whichever mature relay implementation is selected. Retention affects offline delivery, new-device history, privacy, storage growth, backups, erasure expectations, and incident recovery.

This decision is required before production relay deployment and is separate from agent identity, registry semantics, and relay implementation selection.

Decision scope

Evaluate and explicitly choose among:

  • indefinite encrypted-event retention
  • a fixed retention window
  • delivery-oriented mailbox retention
  • user- or room-controlled retention

The decision must cover gift-wrapped DMs, future room events, relay replicas, backups, restore behavior, deletion/expiration semantics, new-device recovery, and observable user-facing guarantees.

Acceptance

  • documented product policy rather than an implementation default
  • exact retained event classes and durations
  • offline-delivery and new-device consequences
  • backup retention and restore behavior
  • deletion, expiry, and legal/privacy boundaries
  • storage-capacity model and monitoring thresholds
  • adversarial tests for expiry, restart, backup restore, and stale replicas

Excludes

This issue does not deploy a relay, select a relay implementation, or claim NIP-17/Buzz interoperability.

Maintainer reconciliation — 2026-09-04

Next closure evidence/work: Choose explicit retained event classes/durations, offline/new-device consequences, backup/replica expiry and restoration, deletion limits, capacity/monitoring thresholds and adversarial tests.

Baseline reviewed: main 87c3bcb7d65e3e2ab8ae317694b751f8efe9a8ed. Implementation presence is not a live conformance claim.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions