Access check (Why?) ACX-04
Explain exactly why a person can or can't use an app.
| Who can use it | users.list or app owner |
|---|---|
| Where it is | /admin/users/:userId/apps/:appId/why · link: https://hub.substratalapps.com/admin/users/:userId/apps/:appId/why or substratal://admin/users/:userId/apps/:appId/why |
| Available on | Web (PWA), iOS / iPadOS, Android, Windows, Linux (GNOME), macOS |
| Phase | MVP |
Related guides
- Managing users and their access — Find people, invite them, turn app access on and off, and understand why someone can or can't get in.
- Turn off someone's access and prove it worked — Pause one person's access to one app, check the result live, and find the record.
- Find out why someone can't get into an app — Work through account status, access paths, organization scope and roles, in that order.
On your platform
| App | Status | How it's built |
|---|---|---|
| Web (PWA) | — | Popover ≥ 1024 px; side panel 768–1023; bottom sheet < 768 |
| iOS / iPadOS | — | .sheet with .presentationDetents([.medium, .large]) |
| Android | Planned | ModalBottomSheet |
| Windows | — | TeachingTip / right pane |
| Linux (GNOME) | — | GtkPopover or AdwOverlaySplitView sidebar |
| macOS | — | .popover or .inspector |
Status is reported by each app's repository; — means that app doesn't report it yet.
For developers: API calls
| Method | Path | What it does |
|---|---|---|
| GET | /users/{id}/apps/{appId}/effective-permissions | The live access check (always 200) |
Every call sends Substratal-Version: 1. Paths are at the host root, with no /v1.