A database per customer
Each customer’s data lives in its own dedicated database; within a customer, each company sits in its own compartment, and files live in per-customer storage. Which customer a request belongs to is taken from the signed login, never from anything a caller can type.