You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+38Lines changed: 38 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,6 +66,44 @@ _Update this diagram during `/app-explore` sessions as the architecture evolves.
66
66
67
67
_Data model is defined using OpenRegister schemas. See [`openspec/specs/`](openspec/specs/) for feature-level design decisions and [`openspec/architecture/`](openspec/architecture/) for architectural decisions._
68
68
69
+
#### Who can read a schema
70
+
71
+
Declare an `authorization` block on **every** schema. Access is decided by
72
+
OpenRegister's RBAC groups and by nothing else — `public` is a special group
73
+
meaning "an anonymous visitor", and `authenticated` means "any logged-in user".
74
+
75
+
```jsonc
76
+
// authenticated users only — the safe default, and what this template ships
77
+
"authorization": { "read": ["authenticated"] }
78
+
79
+
// genuinely public content
80
+
"authorization": { "read": ["public"] }
81
+
82
+
// public, but only once a condition holds — e.g. a publication that is live.
83
+
// RBAC then answers "may they read it" and "is it ready" in one place, instead
84
+
// of every call site having to remember the second question.
Copy file name to clipboardExpand all lines: lib/Settings/apptemplate_register.json
+5-4Lines changed: 5 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -21,14 +21,15 @@
21
21
"icon": "FileDocumentOutline",
22
22
"version": "0.1.0",
23
23
"title": "Example",
24
-
"description": "Example schema — replace with your app's actual schemas.",
24
+
"description": "Example schema — replace with your app's actual schemas. NOTE the `authorization` block below: declare one on EVERY schema you add. A schema that declares none inherits whatever OpenRegister's default happens to be, which is not a decision anyone made about your data.",
0 commit comments