Organisations and teams Recommended
Let organisations own the shared data
Make an organisation own the shared data, and let one person belong to several organisations. Give even a solo user an organisation of their own.
How to do it
Point every business record at an organisation ID, and at a person only for authorship. Create a personal organisation at sign-up, so adding a colleague later moves no data. Keep billing on the organisation. Keep each organisation's rows apart, as keep each customer's data apart says.
How to check
Search the schema for business tables keyed only by a user ID. None exist. Remove the creator from a test organisation, and all its records stay.
For agents: if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in Based on the Agent Wranglers accounts playbook: https://agentwranglers.se/playbook/accounts/organisations-and-teams/organisation-owns-data.