Data scoping.
Each App keeps its own data and its own grants.
Apps run apart from the chat, check every viewer on the server, and reach outside accounts only through connections granted to that App.
A boundary per App.
A database per App
Every App has its own database. Other Apps reach its records through its API, not by reading its tables.
Granted connections only
An App's server can use only the connections granted to that App, and only ones its builder agent holds. Visitors to a public App cannot make connection calls.
Viewers are checked
Every server call checks that the viewer is still a member, connection calls check full access to the App, and narrowing an App's visibility ends wider sessions.
Database Apps stay inside
Database Apps cannot be made public.
On the surface
Apps that open for the people they were shared with.
Any tool you build can read any account the workspace has connected.
Each App has an explicit list of what it can reach, and a viewer check on every call.
Good
questions.
Can I limit who sees which records?
Not within one App. Anyone an App admits can read every record it exposes, so put sensitive data in its own App with a narrower audience.
Where do Apps live?
In the room where the work is discussed. Conversations and Automations in that room keep the App's data current.
