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
feat(auth)!: retire the api.requireAuth opt-out — anonymous data access is always denied (#3963 step 2) (#4043)
`api.requireAuth: false` let a deployment open the entire data plane with one boolean. Retired: auth is a kernel concern, and anonymous callers are now denied unconditionally on every HTTP surface that touches object data. Every surface that legitimately serves a session-less caller derives its own narrow authorization from a declaration (control-plane allowlist, publicFormGrant, share-link token, book.audience:'public', MCP token) — none needs the global switch.
Retirement ran the full repo process: retiredKey() tombstones on both schemas, protocol-18 conversion + migration step18, regenerated artifacts. Auth-less stacks that would serve data now fail at boot (A1). shouldDenyAnonymous no longer accepts a requireAuth input.
Closes#3963.
|**requireAuth**|`boolean`|✅|Reject anonymous requests on ALL HTTP surfaces that reach object data (REST /data, /meta, raw-hono /data) with HTTP 401 (secure-by-default; set false to serve them publicly)|
195
+
|**requireAuth**|`any`|optional|[REMOVED]`api.requireAuth` was removed in @objectstack/spec 18 (#3963). Anonymous access to object data is now always denied — auth is a kernel concern, not a deployment posture. Delete the key. To publish something publicly, declare it: a public form view (`sharing.allowAnonymous`), a share link, or `book.audience: 'public'` — each derives its own narrow authorization instead of opening the whole data plane.|
0 commit comments