Permissions
An app has an owner, and it has people with access. There are no roles in between.
| Owner | Anyone with access | |
|---|---|---|
| Open and use it | ✓ | ✓ |
| Change who can open it | ✓ | |
| Publish it to the catalog | ✓ | |
| Add people and groups | ✓ | if turned on |
| Remove anyone’s access | ✓ | |
| Answer access requests | ✓ | |
| Invite an address with no account | ✓ | |
| Change source, entry file, version | ✓ | |
| Manage secrets and API targets | ✓ | |
| Delete it | ✓ |
Ownership
Section titled “Ownership”An app is owned by the person who created it, or by a group, in which case the group’s owners manage it. Group ownership is what survives someone changing teams, so prefer it for anything a team depends on.
An owner can transfer the app to any user or group in the organization under Ownership in its settings: pick the new owner and click Transfer app. Its stored secrets and git account are cleared, and the new owner supplies their own. If you hand it to someone else, or to a group you don’t own, you stop managing it.
Letting others share it onward
Section titled “Letting others share it onward”Under Specific users, owners can turn on user sharing, which is off by default. It lets anyone with access add other people and groups. It does not let them change the sharing setting, remove anyone’s access, answer requests, or invite an address that has no account yet, since each of those either takes something away or reaches outside the organization.
Access is not in-app security
Section titled “Access is not in-app security”Every file Stackboard serves is available to everyone who can open the app. Access controls who gets in, not what they see once inside. A section your code hides from some people is hidden by JavaScript running on their own machine, and can be read back out of the page.
If data shouldn’t be visible to someone who can open it, keep it out of the repository. Fetch it from an API that checks who is asking, or split it into a separate app.
Secrets are the exception. They are never sent to the browser, so someone can use a credential through the proxy without being able to read it.
