aboutsummaryrefslogtreecommitdiffstats
path: root/docs/access.md
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-07 22:35:09 +0100
committertv <tv@krebsco.de>2026-11-07 22:35:09 +0100
commitf2487f5a1f897bb5499ffd782562f53967f20606 (patch)
tree3e6b64f4ef1ebe1c19e346c2080a5a7afb31ec26 /docs/access.md
parentc82a62186a8e0a46fd41e08345a2fa3e54ddffe2 (diff)
access: keeping the swarm manageable
A write that would leave its own writer unable to manage users (deleting, disabling or narrowing its entry, removing the registry) is refused; --protocol-writers can set a registry right that nobody may manage any more. Auth plan M1.
Diffstat (limited to 'docs/access.md')
-rw-r--r--docs/access.md15
1 files changed, 13 insertions, 2 deletions
diff --git a/docs/access.md b/docs/access.md
index 042e0d5..b9e0296 100644
--- a/docs/access.md
+++ b/docs/access.md
@@ -88,5 +88,16 @@ curl -u alice --request PUT --header 'Content-Type: application/json' \
```
From that write on, every node serves only the users the registry has, so the first
-entry must be the writer's own, with `["_continuum"]`, or nobody may change the
-registry again; add the other users the same way.
+entry must be the writer's own, with `["_continuum"]` (a first write that isn't is
+refused, `409`); add the other users the same way.
+
+## Keeping the swarm manageable
+
+A user may not lock itself out: a write that would keep its writer from managing users
+(enabled, with `write` on `_continuum/users`) when it could, deleting, disabling or
+narrowing its own entry, is refused (`409`), and nothing of it is written; so is one
+that would remove the registry (`_continuum/users`). Others are not kept from removing
+the last user who may manage users: each node can only judge what it holds, and two
+such writes on two nodes at once would leave nobody once they merge anyway. Then,
+while nobody may manage users, the users in a node's `--protocol-writers` may do
+everything there again, to set it right.