Why it matters
An accounting firm runs agents for dozens of clients. A law firm has matters that must never meet. If the separation depends on every line of app code being right, one bug can show a client someone else's books.
Zero trust means the app itself isn't trusted with that job. The rule sits one level lower, where the data lives.
How it works
Every record belongs to a team. When an agent or a person asks for data, the database checks who is asking before it returns anything.
An example
Twelve clients, one agent
The bookkeeping agent at an accounting firm processes invoices for 12 clients. Each client's task runs in its own workspace, tied to that client. While working on De Vries Bouw, the agent can't read another client's invoices, even if it asks for them.
What you control
- How your company is split into teams, and who belongs to each.
- Which agents work for which team.
- Exporting or deleting a team's data at any time.
For your security team
- Access rules are enforced in the PostgreSQL database, in addition to checks in the app.
- A task's workspace is created for one team and discarded when the task ends.
- The database refuses any request that doesn't say which team it's for.
The code is open source, so your team can read how each of these works. Questions? Email security@upmo.ai.