Architecture
Designing clear workspace boundaries
6 min read
Keep membership, resources and permissions attached to the right organization.
The workspace owns everything
A workspace is the ownership boundary for every resource. Resolve the active membership on the server before reading or writing project data.
In Northstack every workspace route carries the workspace in its path, and the API checks the caller's membership before anything else. A workspace you do not belong to answers as if it did not exist.
Switching is a reload, not a filter
Switching the workspace clears cached data and reloads the current membership. Client-side filtering alone cannot enforce isolation.
The dashboard keeps nothing from the previous workspace on screen: projects, members and invoices are all read again for the new one.
Ownership is not a role change
Keep ownership transfer separate from routine role changes, and leave an auditable event for every permission change.
Transferring ownership asks for the owner's password and a confirmation, and every change to the role matrix is written to the activity log with the person who made it.
More from the journal
Northstack 1.3: an assistant that asks first
Task proposals you apply or dismiss, scoped API keys, and the platform's organizations.
One key, one job
Scoped API keys that show their secret once and never outlive their purpose.