Encryption: group/space multi-recipient #18

Closed
opened 2026-07-25 16:25:39 +00:00 by Cordy · 1 comment
Owner

Extends at-rest encryption to shared spaces once per-group spaces exist. Objects in /spaces/<group> encrypt to all current members' age identities + the recovery recipient, so any member can decrypt.

  • Re-encrypt/rewrap on membership change (design: lazy vs eager).
  • Couples with the §5.4 authz work and group resolution.

Deferred from the v0.3 encryption probe.

Extends at-rest encryption to shared spaces once per-group spaces exist. Objects in `/spaces/<group>` encrypt to **all current members' age identities + the recovery recipient**, so any member can decrypt. - Re-encrypt/rewrap on membership change (design: lazy vs eager). - Couples with the §5.4 authz work and group resolution. Deferred from the v0.3 encryption probe.
Author
Owner

Decision — approved (Manuel's review, relayed by Nikola 2026-07-31):

"Yes, that's good as it is."

Recorded as approval of the multi-recipient design for group/space encryption: files in a shared space encrypted to all member recipients (plus recovery), so any member can be served decrypted content. Un-gated — implementable once greenlit.

Note for implementation planning: #28 (post-quantum) is explicitly blocked on how multi-recipient shakes out, so this issue leads the remaining encryption work. Interpretation caveat flagged to Nikola: "good as it is" was read as "the proposed design is good — proceed"; if it instead meant "current single-recipient behaviour is fine, no work needed," say so and this closes instead.

**Decision — approved (Manuel's review, relayed by Nikola 2026-07-31):** > "Yes, that's good as it is." Recorded as approval of the multi-recipient design for group/space encryption: files in a shared space encrypted to all member recipients (plus recovery), so any member can be served decrypted content. **Un-gated** — implementable once greenlit. Note for implementation planning: #28 (post-quantum) is explicitly blocked on how multi-recipient shakes out, so this issue leads the remaining encryption work. Interpretation caveat flagged to Nikola: "good as it is" was read as "the proposed design is good — proceed"; if it instead meant "current single-recipient behaviour is fine, no work needed," say so and this closes instead.
Cordy closed this issue 2026-08-03 19:22:02 +00:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#18
No description provided.