docs(handbook): spaces — app-owned + directory-group model (#218) #227

Merged
Cordy merged 1 commit from docs-spaces-218 into main 2026-08-13 17:15:57 +00:00
Owner

Rewrites spaces.md for the shipped Option-C model (was entirely IdP-centric and now stale).

  • Two kinds of space: app-owned Cairn spaces (default, membership in the encrypted backend, no IdP write, works under local/OIDC/LDAP/AD and every custody mode) vs read-only directory-group spaces (from the groups claim / memberOf).
  • Creating / members / roles: app-owned changes apply immediately; directory-group changes follow the read client or the login session. Owner always write, add-field validation.
  • Read-only membership, space trash, per-space encryption: updated to name both kinds where they differ.
  • Operator configuration: app-owned needs no config; the auth.groups read client (live groups) vs the manage write power mode, with the manage-users blast-radius warning and the AD non-starter note. Legacy storage.encryption.keycloak* back-compat documented.
  • Cross-links ADR 0001.

Product-neutral. Docs only. encryption.md's custody section stays accurate (the keycloak-profile client is still a legitimate custody concern; only spaces were decoupled), so no change needed there.

Rewrites `spaces.md` for the shipped Option-C model (was entirely IdP-centric and now stale). - **Two kinds of space**: app-owned Cairn spaces (default, membership in the encrypted backend, no IdP write, works under local/OIDC/LDAP/AD and every custody mode) vs read-only directory-group spaces (from the `groups` claim / `memberOf`). - **Creating / members / roles**: app-owned changes apply immediately; directory-group changes follow the read client or the login session. Owner always write, add-field validation. - **Read-only membership, space trash, per-space encryption**: updated to name both kinds where they differ. - **Operator configuration**: app-owned needs no config; the `auth.groups` read client (live groups) vs the `manage` write power mode, with the `manage-users` blast-radius warning and the AD non-starter note. Legacy `storage.encryption.keycloak*` back-compat documented. - Cross-links ADR 0001. Product-neutral. Docs only. `encryption.md`'s custody section stays accurate (the keycloak-profile client is still a legitimate *custody* concern; only spaces were decoupled), so no change needed there.
docs(handbook): spaces — app-owned + directory-group model (#218)
All checks were successful
ci / test-and-build (pull_request) Successful in 34s
344d2c523a
Cordy merged commit 4ef15b19a3 into main 2026-08-13 17:15:57 +00:00
Cordy deleted branch docs-spaces-218 2026-08-13 17:16:00 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
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#227
No description provided.